https://github.com/epiqc/ScaffCC
Tip revision: 067cc59bd7a234226b81962ea78260b95061620b authored by ah744 on 01 February 2017, 21:14:46 UTC
Afree() Implemetation Complete
Afree() Implemetation Complete
Tip revision: 067cc59
boolean_formula.x2y2.scaffold
/*
*
* Quantum Boolean Formula
* Author: Mohammad Javad Dousti
* University of Southern California (USC)
* Code is written based on GFI 1.2
*
*/
//Quantum primitive gates
//#include "gates.h"
#include <stdio.h>
#include <math.h>
//Definition of given constants
#define t 12 //size of the phase estimation register
#define m 6 //size of the direction register (!!!NEED TO UPDATE HEX() IF CHANGING THIS VALUE!!!)
#define x_max 2 //size of hex board in x direction
#define y_max 2 //size of hex board in y direction
#define s x_max*y_max //# of remaining moves; height of the tree
#define width (m*s)+2
#define pi 3.14159
/*-------------------------------------My helper functions-----------------------------------*/
const double PI = 3.141592654;
// Swaps 2 qubit states
module Swap (qbit q1[1], qbit q2[1]){
CNOT (q2[0], q1[0]);
CNOT (q1[0], q2[0]);
CNOT (q2[0], q1[0]);
}
/*------------------Some helper functions borrowed from GSE implementation--------------------------*/
module controlledRz(qbit target[1], qbit control[1], double theta){
Rz(target[0],-1*theta/2);
CNOT(target[0],control[0]);
Rz(target[0],theta/2);
CNOT(target[0],control[0]);
}
module ctrlH(qbit *target, qbit *ctrl) {
S(*ctrl);
Rz(*target,pi);
Rz(*target,-pi/4);
CNOT(*target, *ctrl);
Rz(*target,pi/4);
Rz(*target,-pi/2);
CNOT(*target, *ctrl);
Rz(*target,-pi/2);
}
module ControlledRotationPiMinus (qbit target[1], qbit control[1], int j){
int k;
double power =1.0;
power=pow(2, j);
controlledRz (target, control, - (3*PI) / (2*power));
}
module inverseQFT (qbit* topregister, int length_topregister){
int i,j;
for (i =0;i<length_topregister;i++){
H(topregister [i]);
for (j =1;j <(length_topregister-i);j++){
ControlledRotationPiMinus (&topregister[i+j], &topregister[i],j);
}
}
for(i =0;i <(length_topregister/2);i++){ //forall
Swap (&topregister[i], &topregister[length_topregister-1-i]);
}
}
//Negative control CNOT; This implementation can change to a primitive if the underlying technology supports negative-controlled NOT
/*module NCNOT(qbit target[1], qbit ctrl[1]){
X(ctrl[0]);
CNOT(target[0], ctrl[0]);
X(ctrl[0]);
}
//n-control Toffoli; n>2
module nToffoli(qbit target[1], qbit* in, int length_in){
//This should not lead to a compile error as long as the values are set in compile time.
qbit ancilla[length_in-2];
int i;
Toffoli (in[0], in[1], ancilla[0]);
for(i=2; i<length_in-1; i++){ //forall
Toffoli (in[i], ancilla[i-2], ancilla[i-1]);
}
Toffoli (in[length_in-1], ancilla[length_in-3], target[0]);
//uncomputing ancilla
for(i=length_in-2; i>=2; i--){ //forall
Toffoli (in[i], ancilla[i-2], ancilla[i-1]);
}
}
module AND(qbit target[1], qbit* in, int length_in){
PrepZ(target[0],0);
if (length_in == 1){
CNOT(target[0], in[0]);
}else if (length_in == 2){
Toffoli(in[0], in[1], target[0]);
}else{
nToffoli(in, target, length_in);
}
}
module NAND(qbit target[1], qbit* in, int length_in){
AND (&target[0], in, length_in);
X(target[0]);
}
module NOR(qbit target[1], qbit* in, int length_in){
int i;
for(i=0; i<length_in; i++){ //forall
X(in[i]);
}
AND(&target[1], in, length_in);
for(i=0; i<length_in; i++){ //forall
X(in[i]);
}
}
module OR(qbit target[1], qbit* in, int length_in){
NOR(&target[0], in, length_in);
X(target[0]);
}
*/
/*-------------------------------------------------------------------------------------------*/
/* IARPA - GFI Algorithm 13 */
/* Progress status: done */
/* Classical implementation: No */
/* begin ctqg
module C_TESTPOS(qbit ctrl[1], int pos, qbit bitmap[s], qbit maskmap[s], qbit newmap[s]){
//pos is a compile-time constant, so no mux is needed to be implemented explicitly
//No need to create a new ancilla each time; garbage collector will take care of "local" ancilla
qbit ancilla[1];
PrepZ(ancilla[0],1);
//ancilla[0] will get the old value of newmap[pos]; since newmap[pos] is a binary qubit, we can assume that it is possible to safely reset it to 0
if (maskmap[pos]==1 && bitmap[pos]==1 && ctrl[0]==1){
Swap(&newmap[pos], &ancilla[0]);
}
}
// end ctqg */
module C_TESTPOS(qbit ctrl[1], int pos, qbit bitmap[s], qbit maskmap[s], qbit newmap[s]){
qbit I00[1];
qbit I11[1];
qbit I1g[3];
qbit tof_anc[2];
CNOT ( maskmap[pos] , I11[0] );
CNOT ( I11[0] , I1g[0] );
CNOT ( maskmap[pos] , I11[0] );
Toffoli ( I1g[0] , bitmap[pos] , I11[0] );
Toffoli ( I1g[0] , I11[0] , I1g[1] );
Toffoli ( I1g[0] , bitmap[pos] , I11[0] );
// Toffoli ( I1g[0] , I1g[1] , ctrl[0] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( ctrl[0] ,tof_anc[0], I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I11[0] , I1g[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I11[0] ,tof_anc[0], I1g[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , ctrl[0] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( ctrl[0] ,tof_anc[0], I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[0] , newmap[pos] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[0] ,tof_anc[1], newmap[pos] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , newmap[pos] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( newmap[pos] ,tof_anc[1], I00[0] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[0] , newmap[pos] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[0] ,tof_anc[1], newmap[pos] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
}
/* IARPA - GFI Algorithm 12 */
/* Classical implementation: No */
/*module FLOOD_FILL(qbit bitmap[s], qbit maskmap[s]){
//-------------Part 1: Initialization---------------
qbit stale[1];
qbit ancilla[4];
qbit newmap[s];
qbit ctrl[1];
qbit nctrl[1];
int index0, index1;
for(index0=0; index0<s; index0++){ //forall
PrepZ(newmap[index0],0);
//Note that the control-swap can be considered as a normal swap here because in case of bitmap[index0]==0, swapping does not change the values of bitmap[index0] and newmap[index0]. All of the swap gates can be done in parallel.
Swap(&newmap[index0], &bitmap[index0]);
}
//stale = 0 if at least one of the values in bitmap (which is already swapped to newmap) is 1, otherwise stale=1
NOR(&stale[0], newmap, s);
//-------------Part 2: While Loop---------------
//ancilla[1]
PrepZ(ctrl[0],0);
for (index1=0; index1<x_max; index1++){
PrepZ(ancilla[0],1);
NCNOT(&ctrl[0], &stale[0]);
Swap(&ancilla[0], stale);
//-------------Part 3: For Loop-----------------
for (index0=0; index0<s; index0++){
//note that since these are binary qubits, ideally, they will not be entangled and can be purified without uncomputation
PrepZ(nctrl[0],0);
PrepZ(ancilla[1],0);
PrepZ(ancilla[2],0);
PrepZ(ancilla[3],0);
X(ancilla[1]);
Toffoli(newmap[index0], ctrl[0], nctrl[0]);
Fredkin_decomp(ancilla[1], bitmap[index0], nctrl[0]);
//The conditions can be evaluated at compile time so they do not need to have multiple-control unitary
if (index0+x_max<s){
C_TESTPOS(&nctrl[0], index0+x_max, maskmap, bitmap, newmap);
}
if (index0-x_max>=0){
C_TESTPOS(&nctrl[0], index0-x_max, maskmap, bitmap, newmap);
}
if (index0 % x_max >0){
if (index0 -1 >= 0){
C_TESTPOS(&nctrl[0], index0-1, maskmap, bitmap, newmap);
}
if (index0 + x_max - 1 <s){
C_TESTPOS(&nctrl[0], index0+x_max-1, maskmap, bitmap, newmap);
}
}
if (index0 % x_max < x_max - 1){
if (index0 + 1 <s){
C_TESTPOS(&nctrl[0], index0+1, maskmap, bitmap, newmap);
}
if (index0 - x_max + 1 >= 0){
C_TESTPOS(&nctrl[0], index0 - x_max + 1, maskmap, bitmap, newmap);
}
}
Fredkin_decomp(ancilla[2], newmap[index0], nctrl[0]);
Fredkin_decomp(ancilla[3], stale[0], nctrl[0]);
}
CNOT(ctrl[0], stale[0]);
}
}
*/
/* IARPA - GFI Algorithm 11 */
/* Progress status: done */
/* Classical implementation: No */
/*module CHECKWIN_RED(qbit redboard[s], qbit outcome[1]){
int index0;
qbit blueboard[s];
//qbit outcome[1];
//initializing blueboard to 0
for(index0=0; index0<s; index0++){ //forall
PrepZ(blueboard[index0],0);
}
for(index0=0; index0<x_max; index0++){ //forall
//A negative controled CNOT
NCNOT(&blueboard[index0], &redboard[index0]); //note that this implementation does not need any MUX; because this gfor
//sequentially accesses the redboard vector
}
FLOOD_FILL(blueboard, redboard);
//if outcome==1 then red won; otherwise blue won
//NOR(outcome[0], blueboard[x_max*(y_max-1)..s]);
NOR(&outcome[0], &blueboard[x_max*(y_max-1)], s-(x_max*(y_max-1))+1);
}
*/
/* IARPA - GFI Algorithm 10 */
/* Progress status: done */
/* Classical implementation: No */
/*module HEX(qbit pos[width], qbit init_r[s], qbit init_b[s], qbit redState[1]){
qbit redboard[s];
qbit blueboard[s];
qbit player[1];
int i;
int select;
int move;
int shift=m*(s-1);
qbit address[m];
qbit blueState[1];
//qbit redState[1];
qbit ancilla[3];
PrepZ(player[0],0);
PrepZ(blueState[0],0);
PrepZ(redState[0],0);
for (i=0; i<m; i++){ //forall
PrepZ(address[i],0);
}
//initialization of redboard & blueboard
for(move=0; move<s; move++){ //forall
PrepZ(redboard[move],0);
PrepZ(blueboard[move],0);
CNOT(redboard[move], init_r[move]);
CNOT(blueboard[move], init_b[move]);
}
for (move=0; move<s; move++){ //forall
PrepZ(ancilla[0],1);
PrepZ(ancilla[1],1);
//address can be assigned during the loop unrolling; all the usages of address needs compiler help for adding a MUX; more info is presented in the report
//address = (pos>>shift) & (pow(2,m) -1);
// Address is a window into the position qbit register;
// we'll just swap the bits we want into the address ancilla bits
for (i=0; i<m; i++){ //forall
Swap(&address[i], &pos[shift+i]);
}
//CNOT(blueState[0], redboard[address]);
//Fredkin_decomp (redState[0], blueState[0], redboard[address]);
//CNOT(redState[0], blueboard[address]);
//Fredkin_decomp (redState[0], blueState[0], blueboard[address]);
//Fredkin_decomp (ancilla[0], blueboard[address], player[0]);
//X(player[0]);
//Fredkin_decomp (ancilla[1], redboard[address], player[0]);
// Can't address with qbits, but can used boolean controlled gates
// begin ctqg
for (select=0; select<pow(2,m); select++){ //forall
if ( (address[0] == (select & 1<<0) ) &&
(address[1] == (select & 1<<1) ) &&
(address[2] == (select & 1<<2) ) &&
(address[3] == (select & 1<<3) ) &&
(address[4] == (select & 1<<4) ) &&
(address[5] == (select & 1<<5) ) ){
CNOT(blueState[0], redboard[select]);
//Fredkin_decomp (redState[0], blueState[0], redboard[select]);
CNOT( redboard[select], blueState[0] );
Toffoli (blueState[0], redboard[select], redState[0]);
CNOT( redboard[select], blueState[0] );
CNOT(redState[0], blueboard[select]);
//Fredkin_decomp (redState[0], blueState[0], blueboard[select]);
CNOT (blueboard[select], blueState[0]);
Toffoli (blueState[0], blueboard[select], redState[0]);
CNOT (blueboard[select], blueState[0]);
//Fredkin_decomp (ancilla[0], blueboard[select], player[0]);
CNOT (player[0], blueboard[select]);
Toffoli (blueboard[select], player[0], ancilla[0]);
CNOT (player[0], blueboard[select]);
X(player[0]);
//Fredkin_decomp (ancilla[1], redboard[select], player[0]);
CNOT (player[0], redboard[select]);
Toffoli (redboard[select], player[0], ancilla[1]);
CNOT (player[0], redboard[select]);
}
}
// end ctqg
// Swap back; don't lose your bits!
for (i=0; i<m; i++){ //forall
Swap(&address[i], &pos[shift+i]);
}
//can be done in compile time
shift=shift-m;
}
//ancilla[2] is a reference only
CHECKWIN_RED(redboard, &ancilla[2]);
CNOT(blueState[0], ancilla[2]);
Fredkin_decomp(redState[0], blueState[0], ancilla[2]);
X(ancilla[2]);
CNOT(redState[0], ancilla[2]);
Fredkin_decomp(redState[0], blueState[0], ancilla[2]);
X(ancilla[2]);
}
*/
/* Partitioning Algorithm 9 to 2 sub-algorithms: Type -M and Type +M */
/* IARPA - GFI Algorithm 9; Type -M; */
/* Progress status: done */
/* Classical implementation: No */
/*module C_SHIFT_MINUS_M(qbit ctrl[1], qbit register1[width], int w){
int index0;
for(index0=0; index0<w+m; index0++){ //forall
Toffoli(register1[index0-m], ctrl[0], register1[index0]);
Toffoli(register1[index0], ctrl[0], register1[index0-m]);
}
}
*/
/* IARPA - GFI Algorithm 9; Type +M; */
/* Progress status: done */
/* Classical implementation: No */
/*module C_SHIFT_PLUS_M(qbit ctrl[1], qbit register1[width], int w){
int index0;
for(index0=w-1; index0>=m; index0--){ //forall
Toffoli(register1[index0-m], ctrl[0], register1[index0]);
Toffoli(register1[index0], ctrl[0], register1[index0-m]);
}
}
*/
/* IARPA - GFI Algorithm 8 */
/* Progress status: done */
/*module C_TOCHILD(qbit ctrl[1], qbit pos[width], qbit dir[m], int w){
C_SHIFT_PLUS_M(&ctrl[0], pos, m);
int qubit;
for(qubit=0; qubit<m; qubit++){ //forall
Toffoli(dir[qubit], ctrl[0], pos[qubit]);
Toffoli(pos[qubit], ctrl[0], dir[qubit]);
X(dir[qubit]);
}
}
*/
/* IARPA - GFI Algorithm 7 */
/* Progress status: done */
/* Classical implementation: No */
/*module C_TOPARENT(qbit ctrl[1], qbit pos[width], qbit dir[m], int w){
int qubit;
for(qubit=0; qubit<m; qubit++){ //forall
Toffoli(pos[qubit], ctrl[0], dir[qubit]);
X(dir[qubit]);
Toffoli(dir[qubit], ctrl[0], pos[qubit]);
}
C_SHIFT_MINUS_M(&ctrl[0], pos, -m);
}
*/
/* IARPA - GFI Algorithm 6 */
/* Progress status: done */
/* Classical implementation: No */
/* begin ctqg
module C_UNDO_ORACLE(qbit ctrl[1], qbit pos[width], qbit leaf[1], qbit paraleaf[1], qbit binary[1], qbit height1[1], qbit r[1], qbit rp[1], qbit rpp[1], qbit dir[m], qbit init_r[s], qbit init_b[s]){
int i;
qbit redState[1];
qbit nToffAnc[1];
qbit ancilla[3];
qbit pos_temp[s-2];
HEX(pos, init_r, init_b, redState);
//nToffoli(b.work.binary[0], {b.paraleaf, HEX(b.pos, init_r, init_b, redState), ctrl[0]}, 3);
Toffoli (paraleaf[0], redState[0], nToffAnc[0]);
Toffoli (nToffAnc[0], ctrl[0], binary[0]);
// Uncompute
Toffoli (paraleaf[0], redState[0], nToffAnc[0]);
NAND (&ancilla[0], dir, m);
PrepZ(ancilla[1],1);
CNOT(ancilla[1], ancilla[0]); //ancilla[1]=X(ancilla[0])
//using pos_temp as a reference to pos[sm, (s-1)m, ..., 3m]
for (int i=3; i<=s; i++){
pos_temp[i-3]=pos[i*m];
}
NOR(&ancilla[2], pos_temp, s-2);
// begin ctqg
if (ctrl[0]==1){
if (pos[width-1]==0 && pos[width-2]==1 && dir[0]==0){
X(leaf[0]);
}else if (pos[width-1]==1 || (pos[width-1]==0 && pos[width-2]==1 && pos[width-2-m]==1 && ancilla[0]==1)){
X(binary[0]);
X(paraleaf[0]);
}else if (ancilla[2]==1){
if (ancilla[1]==1){
if (pos[2*m]==1){
X(height1[0]);
}else if (pos[m]==1){
X(r[0]);
}else if (pos[1]==1){
X(rp[0]);
X(binary[0]);
}
}else if (pos[2*m]==0 && pos[m]==0 && pos[1]==1){
X(height1[0]);
}else if (pos[2*m]==0 && pos[m]==0 && dir[0]==1){
X(rpp[0]);
}else if (pos[2*m]==0 && pos[m]==0 && pos[0]==1){
X(r[0]);
}else if (pos[2*m]==0 && pos[m]==0){
X(rp[0]);
X(binary[0]);
}
}
}
// end ctqg
}
end ctqg */
module C_UNDO_ORACLE(qbit ctrl[1], qbit pos[width], qbit leaf[1], qbit paraleaf[1], qbit binary[1], qbit height1[1], qbit r[1], qbit rp[1], qbit rpp[1], qbit dir[m], qbit init_r[s], qbit init_b[s]){
qbit I00[20];
qbit I0g[22];
qbit I11[11];
qbit I1g[163];
qbit tof_anc[7];
CNOT ( I00[8] , init_r[0] );
CNOT ( I00[12] , init_b[0] );
CNOT ( I00[2] , pos[18] );
CNOT ( pos[18] , I00[2] );
CNOT ( I00[2] , pos[18] );
CNOT ( I00[3] , pos[19] );
CNOT ( pos[19] , I00[3] );
CNOT ( I00[3] , pos[19] );
CNOT ( I00[4] , pos[20] );
CNOT ( pos[20] , I00[4] );
CNOT ( I00[4] , pos[20] );
CNOT ( I00[5] , pos[21] );
CNOT ( pos[21] , I00[5] );
CNOT ( I00[5] , pos[21] );
CNOT ( I00[6] , pos[22] );
CNOT ( pos[22] , I00[6] );
CNOT ( I00[6] , pos[22] );
CNOT ( I00[7] , pos[23] );
CNOT ( pos[23] , I00[7] );
CNOT ( I00[7] , pos[23] );
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
CNOT ( I11[5] , I1g[0] );
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
Toffoli ( I1g[0] , I00[3] , I11[5] );
CNOT ( I1g[0] , I11[5] );
Toffoli ( I1g[0] , I11[5] , I1g[1] );
Toffoli ( I1g[0] , I00[3] , I11[5] );
CNOT ( I1g[0] , I11[5] );
// Toffoli ( I1g[0] , I1g[1] , I00[4] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[0] , I1g[1] , I11[5] );
// Toffoli ( I1g[0] , I1g[1] , I11[5] , I1g[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I00[4] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[0] , I1g[1] , I11[5] );
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[5] , I1g[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I00[6] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I11[5] , I1g[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[4] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I00[6] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I00[7] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2], I11[5] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I11[5] , I1g[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[5] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I00[7] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2], I11[5] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I00[1] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[8] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I00[8] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[8] ,tof_anc[4], I00[1] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I0g[1] , I00[1] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[8] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I00[8] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[8] ,tof_anc[4], I00[1] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I0g[1] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[12] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I00[12] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[12] ,tof_anc[4], I00[1] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I0g[1] , I00[1] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[12] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I00[12] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[12] ,tof_anc[4], I00[1] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I00[0] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[12] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I11[6] , I00[12] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[12] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I00[0] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[12] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3], I00[0] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I00[0] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[8] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I11[7] , I00[8] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[8] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I00[0] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[8] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
CNOT ( I00[2] , I11[5] );
CNOT ( I11[5] , I1g[6] );
CNOT ( I00[2] , I11[5] );
Toffoli ( I1g[6] , I00[3] , I11[5] );
CNOT ( I1g[6] , I11[5] );
Toffoli ( I1g[6] , I11[5] , I1g[7] );
Toffoli ( I1g[6] , I00[3] , I11[5] );
CNOT ( I1g[6] , I11[5] );
// Toffoli ( I1g[6] , I1g[7] , I00[4] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[6] , I1g[7] , I11[5] );
// Toffoli ( I1g[6] , I1g[7] , I11[5] , I1g[8] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[8] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I00[4] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[6] , I1g[7] , I11[5] );
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I00[5] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0], I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I11[5] , I1g[9] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[9] );
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I00[5] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0], I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I00[6] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1], I11[5] );
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I11[5] , I1g[10] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[10] );
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I00[6] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1], I11[5] );
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I00[7] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2], I11[5] );
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I11[5] , I1g[11] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[11] );
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I00[7] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I11[5] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2], I11[5] );
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I00[1] , I00[9] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[9] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I00[9] , I00[1] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[9] ,tof_anc[4], I00[1] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I0g[1] , I00[1] , I00[9] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[9] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I00[9] , I00[1] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[9] ,tof_anc[4], I00[1] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I0g[1] , I00[13] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[13] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I00[13] , I00[1] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[13] ,tof_anc[4], I00[1] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I0g[1] , I00[1] , I00[13] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[13] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I00[13] , I00[1] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[13] ,tof_anc[4], I00[1] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I00[0] , I00[13] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[13] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I11[6] , I00[13] , I00[0] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[13] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I00[0] , I00[13] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[13] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I00[0] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3], I00[0] );
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I00[0] , I00[9] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[9] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I11[7] , I00[9] , I00[0] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[9] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
// Toffoli ( I1g[6] , I1g[7] , I1g[8] , I1g[9] , I1g[10] , I1g[11] , I00[0] , I00[9] );
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[9] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[8] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[6] , I1g[7] ,tof_anc[0]);
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
CNOT ( I11[5] , I1g[12] );
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
Toffoli ( I1g[12] , I00[3] , I11[5] );
Toffoli ( I1g[12] , I11[5] , I1g[13] );
Toffoli ( I1g[12] , I00[3] , I11[5] );
// Toffoli ( I1g[12] , I1g[13] , I00[4] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[12] , I1g[13] , I11[5] );
// Toffoli ( I1g[12] , I1g[13] , I11[5] , I1g[14] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[14] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I00[4] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[12] , I1g[13] , I11[5] );
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I00[5] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0], I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I11[5] , I1g[15] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[15] );
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I00[5] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0], I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I00[6] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1], I11[5] );
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I11[5] , I1g[16] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[16] );
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I00[6] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1], I11[5] );
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I00[7] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2], I11[5] );
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I11[5] , I1g[17] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[17] );
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I00[7] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I11[5] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2], I11[5] );
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I00[1] , I00[10] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[10] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I00[10] , I00[1] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[10] ,tof_anc[4], I00[1] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I0g[1] , I00[1] , I00[10] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[10] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I00[10] , I00[1] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[10] ,tof_anc[4], I00[1] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I0g[1] , I00[14] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[14] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I00[14] , I00[1] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[14] ,tof_anc[4], I00[1] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I0g[1] , I00[1] , I00[14] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[14] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I00[14] , I00[1] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[14] ,tof_anc[4], I00[1] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I00[0] , I00[14] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[14] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I11[6] , I00[14] , I00[0] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[14] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I00[0] , I00[14] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[14] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I00[0] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3], I00[0] );
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I00[0] , I00[10] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[10] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I11[7] , I00[10] , I00[0] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[10] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
// Toffoli ( I1g[12] , I1g[13] , I1g[14] , I1g[15] , I1g[16] , I1g[17] , I00[0] , I00[10] );
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[10] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[14] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[12] , I1g[13] ,tof_anc[0]);
CNOT ( I00[2] , I11[5] );
CNOT ( I11[5] , I1g[18] );
CNOT ( I00[2] , I11[5] );
Toffoli ( I1g[18] , I00[3] , I11[5] );
Toffoli ( I1g[18] , I11[5] , I1g[19] );
Toffoli ( I1g[18] , I00[3] , I11[5] );
// Toffoli ( I1g[18] , I1g[19] , I00[4] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[18] , I1g[19] , I11[5] );
// Toffoli ( I1g[18] , I1g[19] , I11[5] , I1g[20] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[20] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I00[4] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[18] , I1g[19] , I11[5] );
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I00[5] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0], I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I11[5] , I1g[21] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[21] );
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I00[5] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0], I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I00[6] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1], I11[5] );
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I11[5] , I1g[22] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[22] );
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I00[6] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1], I11[5] );
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I00[7] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2], I11[5] );
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I11[5] , I1g[23] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[23] );
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I00[7] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I11[5] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2], I11[5] );
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I00[1] , I00[11] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[11] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I00[11] , I00[1] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[11] ,tof_anc[4], I00[1] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I0g[1] , I00[1] , I00[11] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[11] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I00[11] , I00[1] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[11] ,tof_anc[4], I00[1] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I0g[1] , I00[15] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[15] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I00[15] , I00[1] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[15] ,tof_anc[4], I00[1] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I0g[1] , I00[1] , I00[15] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[15] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I00[15] , I00[1] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[15] ,tof_anc[4], I00[1] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I00[0] , I00[15] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[15] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I11[6] , I00[15] , I00[0] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[15] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I00[0] , I00[15] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[15] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I00[0] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3], I00[0] );
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I00[0] , I00[11] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[11] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I11[7] , I00[11] , I00[0] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[11] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
// Toffoli ( I1g[18] , I1g[19] , I1g[20] , I1g[21] , I1g[22] , I1g[23] , I00[0] , I00[11] );
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[11] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[20] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[18] , I1g[19] ,tof_anc[0]);
CNOT ( I00[2] , pos[18] );
CNOT ( pos[18] , I00[2] );
CNOT ( I00[2] , pos[18] );
CNOT ( I00[3] , pos[19] );
CNOT ( pos[19] , I00[3] );
CNOT ( I00[3] , pos[19] );
CNOT ( I00[4] , pos[20] );
CNOT ( pos[20] , I00[4] );
CNOT ( I00[4] , pos[20] );
CNOT ( I00[5] , pos[21] );
CNOT ( pos[21] , I00[5] );
CNOT ( I00[5] , pos[21] );
CNOT ( I00[6] , pos[22] );
CNOT ( pos[22] , I00[6] );
CNOT ( I00[6] , pos[22] );
CNOT ( I00[7] , pos[23] );
CNOT ( pos[23] , I00[7] );
CNOT ( I00[7] , pos[23] );
CNOT ( I00[9] , init_r[1] );
CNOT ( I00[13] , init_b[1] );
CNOT ( I00[2] , pos[12] );
CNOT ( pos[12] , I00[2] );
CNOT ( I00[2] , pos[12] );
CNOT ( I00[3] , pos[13] );
CNOT ( pos[13] , I00[3] );
CNOT ( I00[3] , pos[13] );
CNOT ( I00[4] , pos[14] );
CNOT ( pos[14] , I00[4] );
CNOT ( I00[4] , pos[14] );
CNOT ( I00[5] , pos[15] );
CNOT ( pos[15] , I00[5] );
CNOT ( I00[5] , pos[15] );
CNOT ( I00[6] , pos[16] );
CNOT ( pos[16] , I00[6] );
CNOT ( I00[6] , pos[16] );
CNOT ( I00[7] , pos[17] );
CNOT ( pos[17] , I00[7] );
CNOT ( I00[7] , pos[17] );
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
CNOT ( I11[5] , I1g[24] );
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
Toffoli ( I1g[24] , I00[3] , I11[5] );
CNOT ( I1g[24] , I11[5] );
Toffoli ( I1g[24] , I11[5] , I1g[25] );
Toffoli ( I1g[24] , I00[3] , I11[5] );
CNOT ( I1g[24] , I11[5] );
// Toffoli ( I1g[24] , I1g[25] , I00[4] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[24] , I1g[25] , I11[5] );
// Toffoli ( I1g[24] , I1g[25] , I11[5] , I1g[26] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[26] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I00[4] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[24] , I1g[25] , I11[5] );
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I00[5] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0], I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I11[5] , I1g[27] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[27] );
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I00[5] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0], I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I00[6] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1], I11[5] );
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I11[5] , I1g[28] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[28] );
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I00[6] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1], I11[5] );
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I00[7] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2], I11[5] );
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I11[5] , I1g[29] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[29] );
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I00[7] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I11[5] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2], I11[5] );
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I00[1] , I00[8] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[8] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I00[8] , I00[1] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[8] ,tof_anc[4], I00[1] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I0g[1] , I00[1] , I00[8] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[8] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I00[8] , I00[1] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[8] ,tof_anc[4], I00[1] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I0g[1] , I00[12] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[12] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I00[12] , I00[1] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[12] ,tof_anc[4], I00[1] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I0g[1] , I00[1] , I00[12] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[12] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I00[12] , I00[1] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[12] ,tof_anc[4], I00[1] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I00[0] , I00[12] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[12] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I11[6] , I00[12] , I00[0] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[12] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I00[0] , I00[12] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[12] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I00[0] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3], I00[0] );
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I00[0] , I00[8] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[8] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I11[7] , I00[8] , I00[0] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[8] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
// Toffoli ( I1g[24] , I1g[25] , I1g[26] , I1g[27] , I1g[28] , I1g[29] , I00[0] , I00[8] );
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[8] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[26] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[24] , I1g[25] ,tof_anc[0]);
CNOT ( I00[2] , I11[5] );
CNOT ( I11[5] , I1g[30] );
CNOT ( I00[2] , I11[5] );
Toffoli ( I1g[30] , I00[3] , I11[5] );
CNOT ( I1g[30] , I11[5] );
Toffoli ( I1g[30] , I11[5] , I1g[31] );
Toffoli ( I1g[30] , I00[3] , I11[5] );
CNOT ( I1g[30] , I11[5] );
// Toffoli ( I1g[30] , I1g[31] , I00[4] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[30] , I1g[31] , I11[5] );
// Toffoli ( I1g[30] , I1g[31] , I11[5] , I1g[32] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[32] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I00[4] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[30] , I1g[31] , I11[5] );
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I00[5] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0], I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I11[5] , I1g[33] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[33] );
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I00[5] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0], I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I00[6] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1], I11[5] );
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I11[5] , I1g[34] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[34] );
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I00[6] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1], I11[5] );
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I00[7] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2], I11[5] );
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I11[5] , I1g[35] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[35] );
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I00[7] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I11[5] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2], I11[5] );
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I00[1] , I00[9] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[9] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I00[9] , I00[1] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[9] ,tof_anc[4], I00[1] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I0g[1] , I00[1] , I00[9] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[9] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I00[9] , I00[1] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[9] ,tof_anc[4], I00[1] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I0g[1] , I00[13] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[13] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I00[13] , I00[1] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[13] ,tof_anc[4], I00[1] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I0g[1] , I00[1] , I00[13] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[13] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I00[13] , I00[1] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[13] ,tof_anc[4], I00[1] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I00[0] , I00[13] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[13] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I11[6] , I00[13] , I00[0] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[13] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I00[0] , I00[13] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[13] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I00[0] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3], I00[0] );
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I00[0] , I00[9] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[9] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I11[7] , I00[9] , I00[0] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[9] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
// Toffoli ( I1g[30] , I1g[31] , I1g[32] , I1g[33] , I1g[34] , I1g[35] , I00[0] , I00[9] );
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[9] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[32] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[30] , I1g[31] ,tof_anc[0]);
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
CNOT ( I11[5] , I1g[36] );
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
Toffoli ( I1g[36] , I00[3] , I11[5] );
Toffoli ( I1g[36] , I11[5] , I1g[37] );
Toffoli ( I1g[36] , I00[3] , I11[5] );
// Toffoli ( I1g[36] , I1g[37] , I00[4] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[36] , I1g[37] , I11[5] );
// Toffoli ( I1g[36] , I1g[37] , I11[5] , I1g[38] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[38] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I00[4] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[36] , I1g[37] , I11[5] );
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I00[5] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0], I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I11[5] , I1g[39] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[39] );
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I00[5] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0], I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I00[6] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1], I11[5] );
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I11[5] , I1g[40] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[40] );
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I00[6] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1], I11[5] );
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I00[7] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2], I11[5] );
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I11[5] , I1g[41] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[41] );
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I00[7] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I11[5] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2], I11[5] );
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I00[1] , I00[10] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[10] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I00[10] , I00[1] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[10] ,tof_anc[4], I00[1] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I0g[1] , I00[1] , I00[10] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[10] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I00[10] , I00[1] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[10] ,tof_anc[4], I00[1] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I0g[1] , I00[14] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[14] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I00[14] , I00[1] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[14] ,tof_anc[4], I00[1] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I0g[1] , I00[1] , I00[14] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[14] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I00[14] , I00[1] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[14] ,tof_anc[4], I00[1] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I00[0] , I00[14] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[14] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I11[6] , I00[14] , I00[0] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[14] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I00[0] , I00[14] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[14] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I00[0] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3], I00[0] );
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I00[0] , I00[10] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[10] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I11[7] , I00[10] , I00[0] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[10] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
// Toffoli ( I1g[36] , I1g[37] , I1g[38] , I1g[39] , I1g[40] , I1g[41] , I00[0] , I00[10] );
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[10] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[38] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[36] , I1g[37] ,tof_anc[0]);
CNOT ( I00[2] , I11[5] );
CNOT ( I11[5] , I1g[42] );
CNOT ( I00[2] , I11[5] );
Toffoli ( I1g[42] , I00[3] , I11[5] );
Toffoli ( I1g[42] , I11[5] , I1g[43] );
Toffoli ( I1g[42] , I00[3] , I11[5] );
// Toffoli ( I1g[42] , I1g[43] , I00[4] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[42] , I1g[43] , I11[5] );
// Toffoli ( I1g[42] , I1g[43] , I11[5] , I1g[44] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[44] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I00[4] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[42] , I1g[43] , I11[5] );
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I00[5] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0], I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I11[5] , I1g[45] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[45] );
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I00[5] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0], I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I00[6] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1], I11[5] );
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I11[5] , I1g[46] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[46] );
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I00[6] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1], I11[5] );
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I00[7] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2], I11[5] );
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I11[5] , I1g[47] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[47] );
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I00[7] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I11[5] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2], I11[5] );
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I00[1] , I00[11] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[11] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I00[11] , I00[1] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[11] ,tof_anc[4], I00[1] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I0g[1] , I00[1] , I00[11] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[11] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I00[11] , I00[1] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[11] ,tof_anc[4], I00[1] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I0g[1] , I00[15] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[15] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I00[15] , I00[1] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[15] ,tof_anc[4], I00[1] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I0g[1] , I00[1] , I00[15] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[15] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I00[15] , I00[1] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[15] ,tof_anc[4], I00[1] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I00[0] , I00[15] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[15] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I11[6] , I00[15] , I00[0] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[15] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I00[0] , I00[15] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[15] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I00[0] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3], I00[0] );
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I00[0] , I00[11] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[11] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I11[7] , I00[11] , I00[0] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[11] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
// Toffoli ( I1g[42] , I1g[43] , I1g[44] , I1g[45] , I1g[46] , I1g[47] , I00[0] , I00[11] );
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[11] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[44] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[42] , I1g[43] ,tof_anc[0]);
CNOT ( I00[2] , pos[12] );
CNOT ( pos[12] , I00[2] );
CNOT ( I00[2] , pos[12] );
CNOT ( I00[3] , pos[13] );
CNOT ( pos[13] , I00[3] );
CNOT ( I00[3] , pos[13] );
CNOT ( I00[4] , pos[14] );
CNOT ( pos[14] , I00[4] );
CNOT ( I00[4] , pos[14] );
CNOT ( I00[5] , pos[15] );
CNOT ( pos[15] , I00[5] );
CNOT ( I00[5] , pos[15] );
CNOT ( I00[6] , pos[16] );
CNOT ( pos[16] , I00[6] );
CNOT ( I00[6] , pos[16] );
CNOT ( I00[7] , pos[17] );
CNOT ( pos[17] , I00[7] );
CNOT ( I00[7] , pos[17] );
CNOT ( I00[10] , init_r[2] );
CNOT ( I00[14] , init_b[2] );
CNOT ( I00[2] , pos[6] );
CNOT ( pos[6] , I00[2] );
CNOT ( I00[2] , pos[6] );
CNOT ( I00[3] , pos[7] );
CNOT ( pos[7] , I00[3] );
CNOT ( I00[3] , pos[7] );
CNOT ( I00[4] , pos[8] );
CNOT ( pos[8] , I00[4] );
CNOT ( I00[4] , pos[8] );
CNOT ( I00[5] , pos[9] );
CNOT ( pos[9] , I00[5] );
CNOT ( I00[5] , pos[9] );
CNOT ( I00[6] , pos[10] );
CNOT ( pos[10] , I00[6] );
CNOT ( I00[6] , pos[10] );
CNOT ( I00[7] , pos[11] );
CNOT ( pos[11] , I00[7] );
CNOT ( I00[7] , pos[11] );
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
CNOT ( I11[5] , I1g[48] );
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
Toffoli ( I1g[48] , I00[3] , I11[5] );
CNOT ( I1g[48] , I11[5] );
Toffoli ( I1g[48] , I11[5] , I1g[49] );
Toffoli ( I1g[48] , I00[3] , I11[5] );
CNOT ( I1g[48] , I11[5] );
// Toffoli ( I1g[48] , I1g[49] , I00[4] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[48] , I1g[49] , I11[5] );
// Toffoli ( I1g[48] , I1g[49] , I11[5] , I1g[50] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[50] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I00[4] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[48] , I1g[49] , I11[5] );
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I00[5] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0], I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I11[5] , I1g[51] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[51] );
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I00[5] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0], I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I00[6] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1], I11[5] );
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I11[5] , I1g[52] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[52] );
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I00[6] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1], I11[5] );
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I00[7] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2], I11[5] );
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I11[5] , I1g[53] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[53] );
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I00[7] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I11[5] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2], I11[5] );
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I00[1] , I00[8] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[8] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I00[8] , I00[1] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[8] ,tof_anc[4], I00[1] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I0g[1] , I00[1] , I00[8] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[8] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I00[8] , I00[1] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[8] ,tof_anc[4], I00[1] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I0g[1] , I00[12] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[12] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I00[12] , I00[1] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[12] ,tof_anc[4], I00[1] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I0g[1] , I00[1] , I00[12] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[12] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I00[12] , I00[1] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[12] ,tof_anc[4], I00[1] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I00[0] , I00[12] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[12] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I11[6] , I00[12] , I00[0] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[12] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I00[0] , I00[12] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[12] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I00[0] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3], I00[0] );
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I00[0] , I00[8] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[8] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I11[7] , I00[8] , I00[0] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[8] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
// Toffoli ( I1g[48] , I1g[49] , I1g[50] , I1g[51] , I1g[52] , I1g[53] , I00[0] , I00[8] );
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[8] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[50] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[48] , I1g[49] ,tof_anc[0]);
CNOT ( I00[2] , I11[5] );
CNOT ( I11[5] , I1g[54] );
CNOT ( I00[2] , I11[5] );
Toffoli ( I1g[54] , I00[3] , I11[5] );
CNOT ( I1g[54] , I11[5] );
Toffoli ( I1g[54] , I11[5] , I1g[55] );
Toffoli ( I1g[54] , I00[3] , I11[5] );
CNOT ( I1g[54] , I11[5] );
// Toffoli ( I1g[54] , I1g[55] , I00[4] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[54] , I1g[55] , I11[5] );
// Toffoli ( I1g[54] , I1g[55] , I11[5] , I1g[56] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[56] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I00[4] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[54] , I1g[55] , I11[5] );
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I00[5] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0], I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I11[5] , I1g[57] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[57] );
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I00[5] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0], I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I00[6] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1], I11[5] );
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I11[5] , I1g[58] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[58] );
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I00[6] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1], I11[5] );
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I00[7] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2], I11[5] );
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I11[5] , I1g[59] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[59] );
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I00[7] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I11[5] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2], I11[5] );
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I00[1] , I00[9] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[9] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I00[9] , I00[1] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[9] ,tof_anc[4], I00[1] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I0g[1] , I00[1] , I00[9] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[9] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I00[9] , I00[1] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[9] ,tof_anc[4], I00[1] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I0g[1] , I00[13] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[13] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I00[13] , I00[1] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[13] ,tof_anc[4], I00[1] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I0g[1] , I00[1] , I00[13] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[13] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I00[13] , I00[1] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[13] ,tof_anc[4], I00[1] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I00[0] , I00[13] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[13] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I11[6] , I00[13] , I00[0] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[13] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I00[0] , I00[13] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[13] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I00[0] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3], I00[0] );
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I00[0] , I00[9] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[9] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I11[7] , I00[9] , I00[0] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[9] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
// Toffoli ( I1g[54] , I1g[55] , I1g[56] , I1g[57] , I1g[58] , I1g[59] , I00[0] , I00[9] );
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[9] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[56] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[54] , I1g[55] ,tof_anc[0]);
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
CNOT ( I11[5] , I1g[60] );
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
Toffoli ( I1g[60] , I00[3] , I11[5] );
Toffoli ( I1g[60] , I11[5] , I1g[61] );
Toffoli ( I1g[60] , I00[3] , I11[5] );
// Toffoli ( I1g[60] , I1g[61] , I00[4] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[60] , I1g[61] , I11[5] );
// Toffoli ( I1g[60] , I1g[61] , I11[5] , I1g[62] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[62] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I00[4] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[60] , I1g[61] , I11[5] );
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I00[5] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0], I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I11[5] , I1g[63] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[63] );
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I00[5] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0], I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I00[6] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1], I11[5] );
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I11[5] , I1g[64] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[64] );
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I00[6] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1], I11[5] );
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I00[7] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2], I11[5] );
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I11[5] , I1g[65] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[65] );
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I00[7] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I11[5] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2], I11[5] );
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I00[1] , I00[10] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[10] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I00[10] , I00[1] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[10] ,tof_anc[4], I00[1] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I0g[1] , I00[1] , I00[10] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[10] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I00[10] , I00[1] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[10] ,tof_anc[4], I00[1] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I0g[1] , I00[14] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[14] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I00[14] , I00[1] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[14] ,tof_anc[4], I00[1] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I0g[1] , I00[1] , I00[14] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[14] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I00[14] , I00[1] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[14] ,tof_anc[4], I00[1] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I00[0] , I00[14] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[14] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I11[6] , I00[14] , I00[0] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[14] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I00[0] , I00[14] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[14] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I00[0] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3], I00[0] );
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I00[0] , I00[10] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[10] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I11[7] , I00[10] , I00[0] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[10] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
// Toffoli ( I1g[60] , I1g[61] , I1g[62] , I1g[63] , I1g[64] , I1g[65] , I00[0] , I00[10] );
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[10] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[62] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[60] , I1g[61] ,tof_anc[0]);
CNOT ( I00[2] , I11[5] );
CNOT ( I11[5] , I1g[66] );
CNOT ( I00[2] , I11[5] );
Toffoli ( I1g[66] , I00[3] , I11[5] );
Toffoli ( I1g[66] , I11[5] , I1g[67] );
Toffoli ( I1g[66] , I00[3] , I11[5] );
// Toffoli ( I1g[66] , I1g[67] , I00[4] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[66] , I1g[67] , I11[5] );
// Toffoli ( I1g[66] , I1g[67] , I11[5] , I1g[68] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[68] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I00[4] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[66] , I1g[67] , I11[5] );
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I00[5] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0], I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I11[5] , I1g[69] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[69] );
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I00[5] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0], I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I00[6] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1], I11[5] );
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I11[5] , I1g[70] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[70] );
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I00[6] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1], I11[5] );
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I00[7] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2], I11[5] );
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I11[5] , I1g[71] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[71] );
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I00[7] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I11[5] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2], I11[5] );
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I00[1] , I00[11] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[11] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I00[11] , I00[1] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[11] ,tof_anc[4], I00[1] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I0g[1] , I00[1] , I00[11] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[11] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I00[11] , I00[1] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[11] ,tof_anc[4], I00[1] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I0g[1] , I00[15] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[15] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I00[15] , I00[1] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[15] ,tof_anc[4], I00[1] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I0g[1] , I00[1] , I00[15] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[15] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I00[15] , I00[1] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[15] ,tof_anc[4], I00[1] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I00[0] , I00[15] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[15] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I11[6] , I00[15] , I00[0] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[15] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I00[0] , I00[15] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[15] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I00[0] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3], I00[0] );
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I00[0] , I00[11] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[11] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I11[7] , I00[11] , I00[0] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[11] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
// Toffoli ( I1g[66] , I1g[67] , I1g[68] , I1g[69] , I1g[70] , I1g[71] , I00[0] , I00[11] );
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[11] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[68] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[66] , I1g[67] ,tof_anc[0]);
CNOT ( I00[2] , pos[6] );
CNOT ( pos[6] , I00[2] );
CNOT ( I00[2] , pos[6] );
CNOT ( I00[3] , pos[7] );
CNOT ( pos[7] , I00[3] );
CNOT ( I00[3] , pos[7] );
CNOT ( I00[4] , pos[8] );
CNOT ( pos[8] , I00[4] );
CNOT ( I00[4] , pos[8] );
CNOT ( I00[5] , pos[9] );
CNOT ( pos[9] , I00[5] );
CNOT ( I00[5] , pos[9] );
CNOT ( I00[6] , pos[10] );
CNOT ( pos[10] , I00[6] );
CNOT ( I00[6] , pos[10] );
CNOT ( I00[7] , pos[11] );
CNOT ( pos[11] , I00[7] );
CNOT ( I00[7] , pos[11] );
CNOT ( I00[11] , init_r[3] );
CNOT ( I00[15] , init_b[3] );
CNOT ( I00[2] , pos[0] );
CNOT ( pos[0] , I00[2] );
CNOT ( I00[2] , pos[0] );
CNOT ( I00[3] , pos[1] );
CNOT ( pos[1] , I00[3] );
CNOT ( I00[3] , pos[1] );
CNOT ( I00[4] , pos[2] );
CNOT ( pos[2] , I00[4] );
CNOT ( I00[4] , pos[2] );
CNOT ( I00[5] , pos[3] );
CNOT ( pos[3] , I00[5] );
CNOT ( I00[5] , pos[3] );
CNOT ( I00[6] , pos[4] );
CNOT ( pos[4] , I00[6] );
CNOT ( I00[6] , pos[4] );
CNOT ( I00[7] , pos[5] );
CNOT ( pos[5] , I00[7] );
CNOT ( I00[7] , pos[5] );
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
CNOT ( I11[5] , I1g[72] );
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
Toffoli ( I1g[72] , I00[3] , I11[5] );
CNOT ( I1g[72] , I11[5] );
Toffoli ( I1g[72] , I11[5] , I1g[73] );
Toffoli ( I1g[72] , I00[3] , I11[5] );
CNOT ( I1g[72] , I11[5] );
// Toffoli ( I1g[72] , I1g[73] , I00[4] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[72] , I1g[73] , I11[5] );
// Toffoli ( I1g[72] , I1g[73] , I11[5] , I1g[74] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[74] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I00[4] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[72] , I1g[73] , I11[5] );
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I00[5] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0], I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I11[5] , I1g[75] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[75] );
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I00[5] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0], I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I00[6] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1], I11[5] );
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I11[5] , I1g[76] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[76] );
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I00[6] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1], I11[5] );
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I00[7] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2], I11[5] );
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I11[5] , I1g[77] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[77] );
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I00[7] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I11[5] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2], I11[5] );
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I00[1] , I00[8] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[8] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I00[8] , I00[1] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[8] ,tof_anc[4], I00[1] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I0g[1] , I00[1] , I00[8] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[8] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I00[8] , I00[1] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[8] ,tof_anc[4], I00[1] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I0g[1] , I00[12] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[12] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I00[12] , I00[1] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[12] ,tof_anc[4], I00[1] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I0g[1] , I00[1] , I00[12] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[12] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I00[12] , I00[1] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[12] ,tof_anc[4], I00[1] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I00[0] , I00[12] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[12] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I11[6] , I00[12] , I00[0] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[12] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I00[0] , I00[12] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[12] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I00[0] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3], I00[0] );
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I00[0] , I00[8] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[8] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I11[7] , I00[8] , I00[0] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[8] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
// Toffoli ( I1g[72] , I1g[73] , I1g[74] , I1g[75] , I1g[76] , I1g[77] , I00[0] , I00[8] );
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[8] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[74] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[72] , I1g[73] ,tof_anc[0]);
CNOT ( I00[2] , I11[5] );
CNOT ( I11[5] , I1g[78] );
CNOT ( I00[2] , I11[5] );
Toffoli ( I1g[78] , I00[3] , I11[5] );
CNOT ( I1g[78] , I11[5] );
Toffoli ( I1g[78] , I11[5] , I1g[79] );
Toffoli ( I1g[78] , I00[3] , I11[5] );
CNOT ( I1g[78] , I11[5] );
// Toffoli ( I1g[78] , I1g[79] , I00[4] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[78] , I1g[79] , I11[5] );
// Toffoli ( I1g[78] , I1g[79] , I11[5] , I1g[80] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[80] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I00[4] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[78] , I1g[79] , I11[5] );
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I00[5] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0], I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I11[5] , I1g[81] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[81] );
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I00[5] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0], I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I00[6] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1], I11[5] );
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I11[5] , I1g[82] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[82] );
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I00[6] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1], I11[5] );
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I00[7] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2], I11[5] );
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I11[5] , I1g[83] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[83] );
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I00[7] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I11[5] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2], I11[5] );
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I00[1] , I00[9] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[9] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I00[9] , I00[1] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[9] ,tof_anc[4], I00[1] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I0g[1] , I00[1] , I00[9] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[9] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I00[9] , I00[1] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[9] ,tof_anc[4], I00[1] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I0g[1] , I00[13] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[13] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I00[13] , I00[1] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[13] ,tof_anc[4], I00[1] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I0g[1] , I00[1] , I00[13] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[13] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I00[13] , I00[1] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[13] ,tof_anc[4], I00[1] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I00[0] , I00[13] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[13] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I11[6] , I00[13] , I00[0] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[13] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I00[0] , I00[13] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[13] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I00[0] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3], I00[0] );
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I00[0] , I00[9] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[9] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I11[7] , I00[9] , I00[0] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[9] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
// Toffoli ( I1g[78] , I1g[79] , I1g[80] , I1g[81] , I1g[82] , I1g[83] , I00[0] , I00[9] );
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[9] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[80] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[78] , I1g[79] ,tof_anc[0]);
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
CNOT ( I11[5] , I1g[84] );
CNOT ( I00[2] , I11[5] );
X ( I11[5] );
Toffoli ( I1g[84] , I00[3] , I11[5] );
Toffoli ( I1g[84] , I11[5] , I1g[85] );
Toffoli ( I1g[84] , I00[3] , I11[5] );
// Toffoli ( I1g[84] , I1g[85] , I00[4] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[84] , I1g[85] , I11[5] );
// Toffoli ( I1g[84] , I1g[85] , I11[5] , I1g[86] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[86] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I00[4] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[84] , I1g[85] , I11[5] );
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I00[5] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0], I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I11[5] , I1g[87] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[87] );
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I00[5] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0], I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I00[6] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1], I11[5] );
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I11[5] , I1g[88] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[88] );
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I00[6] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1], I11[5] );
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I00[7] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2], I11[5] );
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I11[5] , I1g[89] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[89] );
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I00[7] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I11[5] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2], I11[5] );
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I00[1] , I00[10] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[10] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I00[10] , I00[1] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[10] ,tof_anc[4], I00[1] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I0g[1] , I00[1] , I00[10] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[10] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I00[10] , I00[1] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[10] ,tof_anc[4], I00[1] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I0g[1] , I00[14] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[14] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I00[14] , I00[1] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[14] ,tof_anc[4], I00[1] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I0g[1] , I00[1] , I00[14] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[14] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I00[14] , I00[1] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[14] ,tof_anc[4], I00[1] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I00[0] , I00[14] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[14] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I11[6] , I00[14] , I00[0] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[14] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I00[0] , I00[14] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[14] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I00[0] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3], I00[0] );
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I00[0] , I00[10] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[10] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I11[7] , I00[10] , I00[0] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[10] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
// Toffoli ( I1g[84] , I1g[85] , I1g[86] , I1g[87] , I1g[88] , I1g[89] , I00[0] , I00[10] );
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[10] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[86] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[84] , I1g[85] ,tof_anc[0]);
CNOT ( I00[2] , I11[5] );
CNOT ( I11[5] , I1g[90] );
CNOT ( I00[2] , I11[5] );
Toffoli ( I1g[90] , I00[3] , I11[5] );
Toffoli ( I1g[90] , I11[5] , I1g[91] );
Toffoli ( I1g[90] , I00[3] , I11[5] );
// Toffoli ( I1g[90] , I1g[91] , I00[4] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[90] , I1g[91] , I11[5] );
// Toffoli ( I1g[90] , I1g[91] , I11[5] , I1g[92] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I11[5] ,tof_anc[0], I1g[92] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I00[4] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I00[4] ,tof_anc[0], I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[90] , I1g[91] , I11[5] );
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I00[5] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0], I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I11[5] , I1g[93] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[93] );
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I00[5] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], I11[5] );
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0], I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I00[6] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1], I11[5] );
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I11[5] , I1g[94] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[94] );
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I00[6] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[6] ,tof_anc[2], I11[5] );
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1], I11[5] );
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I00[7] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2], I11[5] );
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I11[5] , I1g[95] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[95] );
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I00[7] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[5] );
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I11[5] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2], I11[5] );
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I00[1] , I00[11] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[1] ,tof_anc[4], I00[11] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I00[11] , I00[1] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[11] ,tof_anc[4], I00[1] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I0g[1] , I00[1] , I00[11] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[11] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I00[11] , I00[1] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[11] ,tof_anc[4], I00[1] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I0g[1] , I00[15] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4], I00[15] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I00[15] , I00[1] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[15] ,tof_anc[4], I00[1] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I0g[1] , I00[1] , I00[15] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[1] ,tof_anc[5], I00[15] );
Toffoli ( I0g[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I00[15] , I00[1] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[15] ,tof_anc[4], I00[1] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I00[0] , I00[15] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[15] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I11[6] , I00[15] , I00[0] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[15] ,tof_anc[5], I00[0] );
Toffoli ( I11[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I00[0] , I00[15] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[15] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I00[0] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3], I00[0] );
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I00[0] , I00[11] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[11] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I11[7] , I00[11] , I00[0] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[11] ,tof_anc[5], I00[0] );
Toffoli ( I11[7] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
// Toffoli ( I1g[90] , I1g[91] , I1g[92] , I1g[93] , I1g[94] , I1g[95] , I00[0] , I00[11] );
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[0] ,tof_anc[4], I00[11] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[92] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[90] , I1g[91] ,tof_anc[0]);
CNOT ( I00[2] , pos[0] );
CNOT ( pos[0] , I00[2] );
CNOT ( I00[2] , pos[0] );
CNOT ( I00[3] , pos[1] );
CNOT ( pos[1] , I00[3] );
CNOT ( I00[3] , pos[1] );
CNOT ( I00[4] , pos[2] );
CNOT ( pos[2] , I00[4] );
CNOT ( I00[4] , pos[2] );
CNOT ( I00[5] , pos[3] );
CNOT ( pos[3] , I00[5] );
CNOT ( I00[5] , pos[3] );
CNOT ( I00[6] , pos[4] );
CNOT ( pos[4] , I00[6] );
CNOT ( I00[6] , pos[4] );
CNOT ( I00[7] , pos[5] );
CNOT ( pos[5] , I00[7] );
CNOT ( I00[7] , pos[5] );
X ( I00[8] );
CNOT ( I00[16] , I00[8] );
X ( I00[8] );
X ( I00[9] );
CNOT ( I00[17] , I00[9] );
X ( I00[9] );
CNOT ( I0g[8] , I00[16] );
CNOT ( I00[16] , I0g[8] );
CNOT ( I0g[8] , I00[16] );
CNOT ( I0g[9] , I00[17] );
CNOT ( I00[17] , I0g[9] );
CNOT ( I0g[9] , I00[17] );
CNOT ( I0g[10] , I00[18] );
CNOT ( I00[18] , I0g[10] );
CNOT ( I0g[10] , I00[18] );
CNOT ( I0g[11] , I00[19] );
CNOT ( I00[19] , I0g[11] );
CNOT ( I0g[11] , I00[19] );
X ( I0g[8] );
X ( I0g[9] );
X ( I0g[10] );
X ( I0g[11] );
Toffoli ( I0g[14] , I0g[8] , I0g[9] );
Toffoli ( I0g[15] , I0g[10] , I0g[14] );
Toffoli ( I0g[4] , I0g[11] , I0g[15] );
Toffoli ( I0g[15] , I0g[10] , I0g[14] );
X ( I0g[8] );
X ( I0g[9] );
X ( I0g[10] );
X ( I0g[11] );
X ( I0g[4] );
CNOT ( I0g[12] , I0g[4] );
X ( I0g[4] );
CNOT ( I1g[96] , I0g[4] );
CNOT ( I0g[4] , I1g[96] );
CNOT ( I1g[96] , I0g[4] );
X ( I0g[5] );
Toffoli ( I0g[8] , I0g[12] , I0g[13] );
CNOT ( I00[16] , I0g[13] );
Toffoli ( I0g[5] , I0g[13] , I00[16] );
CNOT ( I00[16] , I0g[13] );
CNOT ( I00[18] , I11[9] );
CNOT ( I11[9] , I1g[97] );
CNOT ( I00[18] , I11[9] );
Toffoli ( I1g[97] , I00[10] , I11[9] );
Toffoli ( I1g[97] , I11[9] , I1g[98] );
Toffoli ( I1g[97] , I00[10] , I11[9] );
// Toffoli ( I1g[97] , I1g[98] , I0g[13] , I11[9] );
Toffoli ( I1g[97] , I1g[98] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[97] , I1g[98] ,tof_anc[0]);
// Toffoli ( I1g[97] , I1g[98] , I11[9] , I1g[99] );
Toffoli ( I1g[97] , I1g[98] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[99] );
Toffoli ( I1g[97] , I1g[98] ,tof_anc[0]);
// Toffoli ( I1g[97] , I1g[98] , I0g[13] , I11[9] );
Toffoli ( I1g[97] , I1g[98] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[97] , I1g[98] ,tof_anc[0]);
// Toffoli ( I1g[97] , I1g[98] , I1g[99] , I11[10] , I0g[10] );
Toffoli ( I1g[97] , I1g[98] ,tof_anc[0]);
Toffoli ( I1g[99] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[10] );
Toffoli ( I1g[99] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[97] , I1g[98] ,tof_anc[0]);
// Toffoli ( I1g[97] , I1g[98] , I1g[99] , I0g[10] , I11[10] );
Toffoli ( I1g[97] , I1g[98] ,tof_anc[0]);
Toffoli ( I1g[99] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[10] ,tof_anc[1], I11[10] );
Toffoli ( I1g[99] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[97] , I1g[98] ,tof_anc[0]);
// Toffoli ( I1g[97] , I1g[98] , I1g[99] , I11[10] , I0g[10] );
Toffoli ( I1g[97] , I1g[98] ,tof_anc[0]);
Toffoli ( I1g[99] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[10] );
Toffoli ( I1g[99] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[97] , I1g[98] ,tof_anc[0]);
CNOT ( I0g[8] , I0g[13] );
Toffoli ( I0g[6] , I0g[13] , I0g[8] );
CNOT ( I0g[8] , I0g[13] );
CNOT ( I0g[4] , I0g[13] );
Toffoli ( I0g[7] , I0g[13] , I0g[4] );
CNOT ( I0g[4] , I0g[13] );
X ( I0g[5] );
Toffoli ( I0g[9] , I0g[12] , I0g[13] );
CNOT ( I00[17] , I0g[13] );
Toffoli ( I0g[5] , I0g[13] , I00[17] );
CNOT ( I00[17] , I0g[13] );
CNOT ( I00[19] , I11[9] );
CNOT ( I11[9] , I1g[100] );
CNOT ( I00[19] , I11[9] );
Toffoli ( I1g[100] , I00[11] , I11[9] );
Toffoli ( I1g[100] , I11[9] , I1g[101] );
Toffoli ( I1g[100] , I00[11] , I11[9] );
// Toffoli ( I1g[100] , I1g[101] , I0g[13] , I11[9] );
Toffoli ( I1g[100] , I1g[101] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[100] , I1g[101] ,tof_anc[0]);
// Toffoli ( I1g[100] , I1g[101] , I11[9] , I1g[102] );
Toffoli ( I1g[100] , I1g[101] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[102] );
Toffoli ( I1g[100] , I1g[101] ,tof_anc[0]);
// Toffoli ( I1g[100] , I1g[101] , I0g[13] , I11[9] );
Toffoli ( I1g[100] , I1g[101] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[100] , I1g[101] ,tof_anc[0]);
// Toffoli ( I1g[100] , I1g[101] , I1g[102] , I11[10] , I0g[11] );
Toffoli ( I1g[100] , I1g[101] ,tof_anc[0]);
Toffoli ( I1g[102] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[11] );
Toffoli ( I1g[102] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[100] , I1g[101] ,tof_anc[0]);
// Toffoli ( I1g[100] , I1g[101] , I1g[102] , I0g[11] , I11[10] );
Toffoli ( I1g[100] , I1g[101] ,tof_anc[0]);
Toffoli ( I1g[102] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[11] ,tof_anc[1], I11[10] );
Toffoli ( I1g[102] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[100] , I1g[101] ,tof_anc[0]);
// Toffoli ( I1g[100] , I1g[101] , I1g[102] , I11[10] , I0g[11] );
Toffoli ( I1g[100] , I1g[101] ,tof_anc[0]);
Toffoli ( I1g[102] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[11] );
Toffoli ( I1g[102] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[100] , I1g[101] ,tof_anc[0]);
CNOT ( I00[16] , I11[9] );
CNOT ( I11[9] , I1g[103] );
CNOT ( I00[16] , I11[9] );
Toffoli ( I1g[103] , I00[8] , I11[9] );
Toffoli ( I1g[103] , I11[9] , I1g[104] );
Toffoli ( I1g[103] , I00[8] , I11[9] );
// Toffoli ( I1g[103] , I1g[104] , I0g[13] , I11[9] );
Toffoli ( I1g[103] , I1g[104] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[103] , I1g[104] ,tof_anc[0]);
// Toffoli ( I1g[103] , I1g[104] , I11[9] , I1g[105] );
Toffoli ( I1g[103] , I1g[104] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[105] );
Toffoli ( I1g[103] , I1g[104] ,tof_anc[0]);
// Toffoli ( I1g[103] , I1g[104] , I0g[13] , I11[9] );
Toffoli ( I1g[103] , I1g[104] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[103] , I1g[104] ,tof_anc[0]);
// Toffoli ( I1g[103] , I1g[104] , I1g[105] , I11[10] , I0g[8] );
Toffoli ( I1g[103] , I1g[104] ,tof_anc[0]);
Toffoli ( I1g[105] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[8] );
Toffoli ( I1g[105] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[103] , I1g[104] ,tof_anc[0]);
// Toffoli ( I1g[103] , I1g[104] , I1g[105] , I0g[8] , I11[10] );
Toffoli ( I1g[103] , I1g[104] ,tof_anc[0]);
Toffoli ( I1g[105] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[8] ,tof_anc[1], I11[10] );
Toffoli ( I1g[105] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[103] , I1g[104] ,tof_anc[0]);
// Toffoli ( I1g[103] , I1g[104] , I1g[105] , I11[10] , I0g[8] );
Toffoli ( I1g[103] , I1g[104] ,tof_anc[0]);
Toffoli ( I1g[105] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[8] );
Toffoli ( I1g[105] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[103] , I1g[104] ,tof_anc[0]);
CNOT ( I00[18] , I11[9] );
CNOT ( I11[9] , I1g[106] );
CNOT ( I00[18] , I11[9] );
Toffoli ( I1g[106] , I00[10] , I11[9] );
Toffoli ( I1g[106] , I11[9] , I1g[107] );
Toffoli ( I1g[106] , I00[10] , I11[9] );
// Toffoli ( I1g[106] , I1g[107] , I0g[13] , I11[9] );
Toffoli ( I1g[106] , I1g[107] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[106] , I1g[107] ,tof_anc[0]);
// Toffoli ( I1g[106] , I1g[107] , I11[9] , I1g[108] );
Toffoli ( I1g[106] , I1g[107] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[108] );
Toffoli ( I1g[106] , I1g[107] ,tof_anc[0]);
// Toffoli ( I1g[106] , I1g[107] , I0g[13] , I11[9] );
Toffoli ( I1g[106] , I1g[107] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[106] , I1g[107] ,tof_anc[0]);
// Toffoli ( I1g[106] , I1g[107] , I1g[108] , I11[10] , I0g[10] );
Toffoli ( I1g[106] , I1g[107] ,tof_anc[0]);
Toffoli ( I1g[108] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[10] );
Toffoli ( I1g[108] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[106] , I1g[107] ,tof_anc[0]);
// Toffoli ( I1g[106] , I1g[107] , I1g[108] , I0g[10] , I11[10] );
Toffoli ( I1g[106] , I1g[107] ,tof_anc[0]);
Toffoli ( I1g[108] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[10] ,tof_anc[1], I11[10] );
Toffoli ( I1g[108] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[106] , I1g[107] ,tof_anc[0]);
// Toffoli ( I1g[106] , I1g[107] , I1g[108] , I11[10] , I0g[10] );
Toffoli ( I1g[106] , I1g[107] ,tof_anc[0]);
Toffoli ( I1g[108] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[10] );
Toffoli ( I1g[108] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[106] , I1g[107] ,tof_anc[0]);
CNOT ( I0g[9] , I0g[13] );
Toffoli ( I0g[6] , I0g[13] , I0g[9] );
CNOT ( I0g[9] , I0g[13] );
CNOT ( I0g[4] , I0g[13] );
Toffoli ( I0g[7] , I0g[13] , I0g[4] );
CNOT ( I0g[4] , I0g[13] );
X ( I0g[5] );
Toffoli ( I0g[10] , I0g[12] , I0g[13] );
CNOT ( I00[18] , I0g[13] );
Toffoli ( I0g[5] , I0g[13] , I00[18] );
CNOT ( I00[18] , I0g[13] );
CNOT ( I00[16] , I11[9] );
CNOT ( I11[9] , I1g[109] );
CNOT ( I00[16] , I11[9] );
Toffoli ( I1g[109] , I00[8] , I11[9] );
Toffoli ( I1g[109] , I11[9] , I1g[110] );
Toffoli ( I1g[109] , I00[8] , I11[9] );
// Toffoli ( I1g[109] , I1g[110] , I0g[13] , I11[9] );
Toffoli ( I1g[109] , I1g[110] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[109] , I1g[110] ,tof_anc[0]);
// Toffoli ( I1g[109] , I1g[110] , I11[9] , I1g[111] );
Toffoli ( I1g[109] , I1g[110] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[111] );
Toffoli ( I1g[109] , I1g[110] ,tof_anc[0]);
// Toffoli ( I1g[109] , I1g[110] , I0g[13] , I11[9] );
Toffoli ( I1g[109] , I1g[110] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[109] , I1g[110] ,tof_anc[0]);
// Toffoli ( I1g[109] , I1g[110] , I1g[111] , I11[10] , I0g[8] );
Toffoli ( I1g[109] , I1g[110] ,tof_anc[0]);
Toffoli ( I1g[111] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[8] );
Toffoli ( I1g[111] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[109] , I1g[110] ,tof_anc[0]);
// Toffoli ( I1g[109] , I1g[110] , I1g[111] , I0g[8] , I11[10] );
Toffoli ( I1g[109] , I1g[110] ,tof_anc[0]);
Toffoli ( I1g[111] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[8] ,tof_anc[1], I11[10] );
Toffoli ( I1g[111] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[109] , I1g[110] ,tof_anc[0]);
// Toffoli ( I1g[109] , I1g[110] , I1g[111] , I11[10] , I0g[8] );
Toffoli ( I1g[109] , I1g[110] ,tof_anc[0]);
Toffoli ( I1g[111] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[8] );
Toffoli ( I1g[111] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[109] , I1g[110] ,tof_anc[0]);
CNOT ( I0g[10] , I0g[13] );
Toffoli ( I0g[6] , I0g[13] , I0g[10] );
CNOT ( I0g[10] , I0g[13] );
CNOT ( I0g[4] , I0g[13] );
Toffoli ( I0g[7] , I0g[13] , I0g[4] );
CNOT ( I0g[4] , I0g[13] );
X ( I0g[5] );
Toffoli ( I0g[11] , I0g[12] , I0g[13] );
CNOT ( I00[19] , I0g[13] );
Toffoli ( I0g[5] , I0g[13] , I00[19] );
CNOT ( I00[19] , I0g[13] );
CNOT ( I00[17] , I11[9] );
CNOT ( I11[9] , I1g[112] );
CNOT ( I00[17] , I11[9] );
Toffoli ( I1g[112] , I00[9] , I11[9] );
Toffoli ( I1g[112] , I11[9] , I1g[113] );
Toffoli ( I1g[112] , I00[9] , I11[9] );
// Toffoli ( I1g[112] , I1g[113] , I0g[13] , I11[9] );
Toffoli ( I1g[112] , I1g[113] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[112] , I1g[113] ,tof_anc[0]);
// Toffoli ( I1g[112] , I1g[113] , I11[9] , I1g[114] );
Toffoli ( I1g[112] , I1g[113] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[114] );
Toffoli ( I1g[112] , I1g[113] ,tof_anc[0]);
// Toffoli ( I1g[112] , I1g[113] , I0g[13] , I11[9] );
Toffoli ( I1g[112] , I1g[113] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[112] , I1g[113] ,tof_anc[0]);
// Toffoli ( I1g[112] , I1g[113] , I1g[114] , I11[10] , I0g[9] );
Toffoli ( I1g[112] , I1g[113] ,tof_anc[0]);
Toffoli ( I1g[114] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[9] );
Toffoli ( I1g[114] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[112] , I1g[113] ,tof_anc[0]);
// Toffoli ( I1g[112] , I1g[113] , I1g[114] , I0g[9] , I11[10] );
Toffoli ( I1g[112] , I1g[113] ,tof_anc[0]);
Toffoli ( I1g[114] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I11[10] );
Toffoli ( I1g[114] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[112] , I1g[113] ,tof_anc[0]);
// Toffoli ( I1g[112] , I1g[113] , I1g[114] , I11[10] , I0g[9] );
Toffoli ( I1g[112] , I1g[113] ,tof_anc[0]);
Toffoli ( I1g[114] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[9] );
Toffoli ( I1g[114] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[112] , I1g[113] ,tof_anc[0]);
CNOT ( I00[18] , I11[9] );
CNOT ( I11[9] , I1g[115] );
CNOT ( I00[18] , I11[9] );
Toffoli ( I1g[115] , I00[10] , I11[9] );
Toffoli ( I1g[115] , I11[9] , I1g[116] );
Toffoli ( I1g[115] , I00[10] , I11[9] );
// Toffoli ( I1g[115] , I1g[116] , I0g[13] , I11[9] );
Toffoli ( I1g[115] , I1g[116] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[115] , I1g[116] ,tof_anc[0]);
// Toffoli ( I1g[115] , I1g[116] , I11[9] , I1g[117] );
Toffoli ( I1g[115] , I1g[116] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[117] );
Toffoli ( I1g[115] , I1g[116] ,tof_anc[0]);
// Toffoli ( I1g[115] , I1g[116] , I0g[13] , I11[9] );
Toffoli ( I1g[115] , I1g[116] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[115] , I1g[116] ,tof_anc[0]);
// Toffoli ( I1g[115] , I1g[116] , I1g[117] , I11[10] , I0g[10] );
Toffoli ( I1g[115] , I1g[116] ,tof_anc[0]);
Toffoli ( I1g[117] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[10] );
Toffoli ( I1g[117] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[115] , I1g[116] ,tof_anc[0]);
// Toffoli ( I1g[115] , I1g[116] , I1g[117] , I0g[10] , I11[10] );
Toffoli ( I1g[115] , I1g[116] ,tof_anc[0]);
Toffoli ( I1g[117] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[10] ,tof_anc[1], I11[10] );
Toffoli ( I1g[117] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[115] , I1g[116] ,tof_anc[0]);
// Toffoli ( I1g[115] , I1g[116] , I1g[117] , I11[10] , I0g[10] );
Toffoli ( I1g[115] , I1g[116] ,tof_anc[0]);
Toffoli ( I1g[117] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[10] );
Toffoli ( I1g[117] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[115] , I1g[116] ,tof_anc[0]);
CNOT ( I0g[11] , I0g[13] );
Toffoli ( I0g[6] , I0g[13] , I0g[11] );
CNOT ( I0g[11] , I0g[13] );
CNOT ( I0g[4] , I0g[13] );
Toffoli ( I0g[7] , I0g[13] , I0g[4] );
CNOT ( I0g[4] , I0g[13] );
CNOT ( I0g[12] , I0g[4] );
X ( I0g[4] );
CNOT ( I0g[12] , I0g[4] );
X ( I0g[4] );
CNOT ( I1g[96] , I0g[4] );
CNOT ( I0g[4] , I1g[96] );
CNOT ( I1g[96] , I0g[4] );
X ( I0g[5] );
Toffoli ( I0g[8] , I0g[12] , I0g[13] );
CNOT ( I00[16] , I0g[13] );
Toffoli ( I0g[5] , I0g[13] , I00[16] );
CNOT ( I00[16] , I0g[13] );
CNOT ( I00[18] , I11[9] );
CNOT ( I11[9] , I1g[118] );
CNOT ( I00[18] , I11[9] );
Toffoli ( I1g[118] , I00[10] , I11[9] );
Toffoli ( I1g[118] , I11[9] , I1g[119] );
Toffoli ( I1g[118] , I00[10] , I11[9] );
// Toffoli ( I1g[118] , I1g[119] , I0g[13] , I11[9] );
Toffoli ( I1g[118] , I1g[119] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[118] , I1g[119] ,tof_anc[0]);
// Toffoli ( I1g[118] , I1g[119] , I11[9] , I1g[120] );
Toffoli ( I1g[118] , I1g[119] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[120] );
Toffoli ( I1g[118] , I1g[119] ,tof_anc[0]);
// Toffoli ( I1g[118] , I1g[119] , I0g[13] , I11[9] );
Toffoli ( I1g[118] , I1g[119] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[118] , I1g[119] ,tof_anc[0]);
// Toffoli ( I1g[118] , I1g[119] , I1g[120] , I11[10] , I0g[10] );
Toffoli ( I1g[118] , I1g[119] ,tof_anc[0]);
Toffoli ( I1g[120] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[10] );
Toffoli ( I1g[120] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[118] , I1g[119] ,tof_anc[0]);
// Toffoli ( I1g[118] , I1g[119] , I1g[120] , I0g[10] , I11[10] );
Toffoli ( I1g[118] , I1g[119] ,tof_anc[0]);
Toffoli ( I1g[120] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[10] ,tof_anc[1], I11[10] );
Toffoli ( I1g[120] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[118] , I1g[119] ,tof_anc[0]);
// Toffoli ( I1g[118] , I1g[119] , I1g[120] , I11[10] , I0g[10] );
Toffoli ( I1g[118] , I1g[119] ,tof_anc[0]);
Toffoli ( I1g[120] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[10] );
Toffoli ( I1g[120] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[118] , I1g[119] ,tof_anc[0]);
CNOT ( I0g[8] , I0g[13] );
Toffoli ( I0g[6] , I0g[13] , I0g[8] );
CNOT ( I0g[8] , I0g[13] );
CNOT ( I0g[4] , I0g[13] );
Toffoli ( I0g[7] , I0g[13] , I0g[4] );
CNOT ( I0g[4] , I0g[13] );
X ( I0g[5] );
Toffoli ( I0g[9] , I0g[12] , I0g[13] );
CNOT ( I00[17] , I0g[13] );
Toffoli ( I0g[5] , I0g[13] , I00[17] );
CNOT ( I00[17] , I0g[13] );
CNOT ( I00[19] , I11[9] );
CNOT ( I11[9] , I1g[121] );
CNOT ( I00[19] , I11[9] );
Toffoli ( I1g[121] , I00[11] , I11[9] );
Toffoli ( I1g[121] , I11[9] , I1g[122] );
Toffoli ( I1g[121] , I00[11] , I11[9] );
// Toffoli ( I1g[121] , I1g[122] , I0g[13] , I11[9] );
Toffoli ( I1g[121] , I1g[122] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[121] , I1g[122] ,tof_anc[0]);
// Toffoli ( I1g[121] , I1g[122] , I11[9] , I1g[123] );
Toffoli ( I1g[121] , I1g[122] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[123] );
Toffoli ( I1g[121] , I1g[122] ,tof_anc[0]);
// Toffoli ( I1g[121] , I1g[122] , I0g[13] , I11[9] );
Toffoli ( I1g[121] , I1g[122] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[121] , I1g[122] ,tof_anc[0]);
// Toffoli ( I1g[121] , I1g[122] , I1g[123] , I11[10] , I0g[11] );
Toffoli ( I1g[121] , I1g[122] ,tof_anc[0]);
Toffoli ( I1g[123] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[11] );
Toffoli ( I1g[123] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[121] , I1g[122] ,tof_anc[0]);
// Toffoli ( I1g[121] , I1g[122] , I1g[123] , I0g[11] , I11[10] );
Toffoli ( I1g[121] , I1g[122] ,tof_anc[0]);
Toffoli ( I1g[123] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[11] ,tof_anc[1], I11[10] );
Toffoli ( I1g[123] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[121] , I1g[122] ,tof_anc[0]);
// Toffoli ( I1g[121] , I1g[122] , I1g[123] , I11[10] , I0g[11] );
Toffoli ( I1g[121] , I1g[122] ,tof_anc[0]);
Toffoli ( I1g[123] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[11] );
Toffoli ( I1g[123] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[121] , I1g[122] ,tof_anc[0]);
CNOT ( I00[16] , I11[9] );
CNOT ( I11[9] , I1g[124] );
CNOT ( I00[16] , I11[9] );
Toffoli ( I1g[124] , I00[8] , I11[9] );
Toffoli ( I1g[124] , I11[9] , I1g[125] );
Toffoli ( I1g[124] , I00[8] , I11[9] );
// Toffoli ( I1g[124] , I1g[125] , I0g[13] , I11[9] );
Toffoli ( I1g[124] , I1g[125] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[124] , I1g[125] ,tof_anc[0]);
// Toffoli ( I1g[124] , I1g[125] , I11[9] , I1g[126] );
Toffoli ( I1g[124] , I1g[125] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[126] );
Toffoli ( I1g[124] , I1g[125] ,tof_anc[0]);
// Toffoli ( I1g[124] , I1g[125] , I0g[13] , I11[9] );
Toffoli ( I1g[124] , I1g[125] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[124] , I1g[125] ,tof_anc[0]);
// Toffoli ( I1g[124] , I1g[125] , I1g[126] , I11[10] , I0g[8] );
Toffoli ( I1g[124] , I1g[125] ,tof_anc[0]);
Toffoli ( I1g[126] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[8] );
Toffoli ( I1g[126] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[124] , I1g[125] ,tof_anc[0]);
// Toffoli ( I1g[124] , I1g[125] , I1g[126] , I0g[8] , I11[10] );
Toffoli ( I1g[124] , I1g[125] ,tof_anc[0]);
Toffoli ( I1g[126] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[8] ,tof_anc[1], I11[10] );
Toffoli ( I1g[126] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[124] , I1g[125] ,tof_anc[0]);
// Toffoli ( I1g[124] , I1g[125] , I1g[126] , I11[10] , I0g[8] );
Toffoli ( I1g[124] , I1g[125] ,tof_anc[0]);
Toffoli ( I1g[126] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[8] );
Toffoli ( I1g[126] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[124] , I1g[125] ,tof_anc[0]);
CNOT ( I00[18] , I11[9] );
CNOT ( I11[9] , I1g[127] );
CNOT ( I00[18] , I11[9] );
Toffoli ( I1g[127] , I00[10] , I11[9] );
Toffoli ( I1g[127] , I11[9] , I1g[128] );
Toffoli ( I1g[127] , I00[10] , I11[9] );
// Toffoli ( I1g[127] , I1g[128] , I0g[13] , I11[9] );
Toffoli ( I1g[127] , I1g[128] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[127] , I1g[128] ,tof_anc[0]);
// Toffoli ( I1g[127] , I1g[128] , I11[9] , I1g[129] );
Toffoli ( I1g[127] , I1g[128] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[129] );
Toffoli ( I1g[127] , I1g[128] ,tof_anc[0]);
// Toffoli ( I1g[127] , I1g[128] , I0g[13] , I11[9] );
Toffoli ( I1g[127] , I1g[128] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[127] , I1g[128] ,tof_anc[0]);
// Toffoli ( I1g[127] , I1g[128] , I1g[129] , I11[10] , I0g[10] );
Toffoli ( I1g[127] , I1g[128] ,tof_anc[0]);
Toffoli ( I1g[129] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[10] );
Toffoli ( I1g[129] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[127] , I1g[128] ,tof_anc[0]);
// Toffoli ( I1g[127] , I1g[128] , I1g[129] , I0g[10] , I11[10] );
Toffoli ( I1g[127] , I1g[128] ,tof_anc[0]);
Toffoli ( I1g[129] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[10] ,tof_anc[1], I11[10] );
Toffoli ( I1g[129] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[127] , I1g[128] ,tof_anc[0]);
// Toffoli ( I1g[127] , I1g[128] , I1g[129] , I11[10] , I0g[10] );
Toffoli ( I1g[127] , I1g[128] ,tof_anc[0]);
Toffoli ( I1g[129] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[10] );
Toffoli ( I1g[129] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[127] , I1g[128] ,tof_anc[0]);
CNOT ( I0g[9] , I0g[13] );
Toffoli ( I0g[6] , I0g[13] , I0g[9] );
CNOT ( I0g[9] , I0g[13] );
CNOT ( I0g[4] , I0g[13] );
Toffoli ( I0g[7] , I0g[13] , I0g[4] );
CNOT ( I0g[4] , I0g[13] );
X ( I0g[5] );
Toffoli ( I0g[10] , I0g[12] , I0g[13] );
CNOT ( I00[18] , I0g[13] );
Toffoli ( I0g[5] , I0g[13] , I00[18] );
CNOT ( I00[18] , I0g[13] );
CNOT ( I00[16] , I11[9] );
CNOT ( I11[9] , I1g[130] );
CNOT ( I00[16] , I11[9] );
Toffoli ( I1g[130] , I00[8] , I11[9] );
Toffoli ( I1g[130] , I11[9] , I1g[131] );
Toffoli ( I1g[130] , I00[8] , I11[9] );
// Toffoli ( I1g[130] , I1g[131] , I0g[13] , I11[9] );
Toffoli ( I1g[130] , I1g[131] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[130] , I1g[131] ,tof_anc[0]);
// Toffoli ( I1g[130] , I1g[131] , I11[9] , I1g[132] );
Toffoli ( I1g[130] , I1g[131] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[132] );
Toffoli ( I1g[130] , I1g[131] ,tof_anc[0]);
// Toffoli ( I1g[130] , I1g[131] , I0g[13] , I11[9] );
Toffoli ( I1g[130] , I1g[131] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[130] , I1g[131] ,tof_anc[0]);
// Toffoli ( I1g[130] , I1g[131] , I1g[132] , I11[10] , I0g[8] );
Toffoli ( I1g[130] , I1g[131] ,tof_anc[0]);
Toffoli ( I1g[132] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[8] );
Toffoli ( I1g[132] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[130] , I1g[131] ,tof_anc[0]);
// Toffoli ( I1g[130] , I1g[131] , I1g[132] , I0g[8] , I11[10] );
Toffoli ( I1g[130] , I1g[131] ,tof_anc[0]);
Toffoli ( I1g[132] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[8] ,tof_anc[1], I11[10] );
Toffoli ( I1g[132] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[130] , I1g[131] ,tof_anc[0]);
// Toffoli ( I1g[130] , I1g[131] , I1g[132] , I11[10] , I0g[8] );
Toffoli ( I1g[130] , I1g[131] ,tof_anc[0]);
Toffoli ( I1g[132] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[8] );
Toffoli ( I1g[132] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[130] , I1g[131] ,tof_anc[0]);
CNOT ( I0g[10] , I0g[13] );
Toffoli ( I0g[6] , I0g[13] , I0g[10] );
CNOT ( I0g[10] , I0g[13] );
CNOT ( I0g[4] , I0g[13] );
Toffoli ( I0g[7] , I0g[13] , I0g[4] );
CNOT ( I0g[4] , I0g[13] );
X ( I0g[5] );
Toffoli ( I0g[11] , I0g[12] , I0g[13] );
CNOT ( I00[19] , I0g[13] );
Toffoli ( I0g[5] , I0g[13] , I00[19] );
CNOT ( I00[19] , I0g[13] );
CNOT ( I00[17] , I11[9] );
CNOT ( I11[9] , I1g[133] );
CNOT ( I00[17] , I11[9] );
Toffoli ( I1g[133] , I00[9] , I11[9] );
Toffoli ( I1g[133] , I11[9] , I1g[134] );
Toffoli ( I1g[133] , I00[9] , I11[9] );
// Toffoli ( I1g[133] , I1g[134] , I0g[13] , I11[9] );
Toffoli ( I1g[133] , I1g[134] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[133] , I1g[134] ,tof_anc[0]);
// Toffoli ( I1g[133] , I1g[134] , I11[9] , I1g[135] );
Toffoli ( I1g[133] , I1g[134] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[135] );
Toffoli ( I1g[133] , I1g[134] ,tof_anc[0]);
// Toffoli ( I1g[133] , I1g[134] , I0g[13] , I11[9] );
Toffoli ( I1g[133] , I1g[134] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[133] , I1g[134] ,tof_anc[0]);
// Toffoli ( I1g[133] , I1g[134] , I1g[135] , I11[10] , I0g[9] );
Toffoli ( I1g[133] , I1g[134] ,tof_anc[0]);
Toffoli ( I1g[135] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[9] );
Toffoli ( I1g[135] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[133] , I1g[134] ,tof_anc[0]);
// Toffoli ( I1g[133] , I1g[134] , I1g[135] , I0g[9] , I11[10] );
Toffoli ( I1g[133] , I1g[134] ,tof_anc[0]);
Toffoli ( I1g[135] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I11[10] );
Toffoli ( I1g[135] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[133] , I1g[134] ,tof_anc[0]);
// Toffoli ( I1g[133] , I1g[134] , I1g[135] , I11[10] , I0g[9] );
Toffoli ( I1g[133] , I1g[134] ,tof_anc[0]);
Toffoli ( I1g[135] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[9] );
Toffoli ( I1g[135] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[133] , I1g[134] ,tof_anc[0]);
CNOT ( I00[18] , I11[9] );
CNOT ( I11[9] , I1g[136] );
CNOT ( I00[18] , I11[9] );
Toffoli ( I1g[136] , I00[10] , I11[9] );
Toffoli ( I1g[136] , I11[9] , I1g[137] );
Toffoli ( I1g[136] , I00[10] , I11[9] );
// Toffoli ( I1g[136] , I1g[137] , I0g[13] , I11[9] );
Toffoli ( I1g[136] , I1g[137] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[136] , I1g[137] ,tof_anc[0]);
// Toffoli ( I1g[136] , I1g[137] , I11[9] , I1g[138] );
Toffoli ( I1g[136] , I1g[137] ,tof_anc[0]);
Toffoli ( I11[9] ,tof_anc[0], I1g[138] );
Toffoli ( I1g[136] , I1g[137] ,tof_anc[0]);
// Toffoli ( I1g[136] , I1g[137] , I0g[13] , I11[9] );
Toffoli ( I1g[136] , I1g[137] ,tof_anc[0]);
Toffoli ( I0g[13] ,tof_anc[0], I11[9] );
Toffoli ( I1g[136] , I1g[137] ,tof_anc[0]);
// Toffoli ( I1g[136] , I1g[137] , I1g[138] , I11[10] , I0g[10] );
Toffoli ( I1g[136] , I1g[137] ,tof_anc[0]);
Toffoli ( I1g[138] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[10] );
Toffoli ( I1g[138] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[136] , I1g[137] ,tof_anc[0]);
// Toffoli ( I1g[136] , I1g[137] , I1g[138] , I0g[10] , I11[10] );
Toffoli ( I1g[136] , I1g[137] ,tof_anc[0]);
Toffoli ( I1g[138] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[10] ,tof_anc[1], I11[10] );
Toffoli ( I1g[138] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[136] , I1g[137] ,tof_anc[0]);
// Toffoli ( I1g[136] , I1g[137] , I1g[138] , I11[10] , I0g[10] );
Toffoli ( I1g[136] , I1g[137] ,tof_anc[0]);
Toffoli ( I1g[138] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[10] ,tof_anc[1], I0g[10] );
Toffoli ( I1g[138] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[136] , I1g[137] ,tof_anc[0]);
CNOT ( I0g[11] , I0g[13] );
Toffoli ( I0g[6] , I0g[13] , I0g[11] );
CNOT ( I0g[11] , I0g[13] );
CNOT ( I0g[4] , I0g[13] );
Toffoli ( I0g[7] , I0g[13] , I0g[4] );
CNOT ( I0g[4] , I0g[13] );
CNOT ( I0g[12] , I0g[4] );
X ( I00[18] );
X ( I00[19] );
Toffoli ( I11[8] , I00[18] , I00[19] );
X ( I00[18] );
X ( I00[19] );
CNOT ( I00[1] , I11[8] );
CNOT ( I00[1] , I11[8] );
Toffoli ( I0g[1] , I11[8] , I00[1] );
CNOT ( I00[1] , I11[8] );
X ( I11[8] );
CNOT ( I0g[1] , I11[8] );
CNOT ( I00[1] , I11[8] );
Toffoli ( I0g[1] , I11[8] , I00[1] );
CNOT ( I00[1] , I11[8] );
X ( I11[8] );
Toffoli ( I0g[0] , paraleaf[0] , I0g[1] );
Toffoli ( ctrl[0] , binary[0] , I0g[0] );
Toffoli ( I0g[0] , paraleaf[0] , I0g[1] );
Toffoli ( I0g[16] , dir[0] , dir[1] );
Toffoli ( I0g[17] , dir[2] , I0g[16] );
Toffoli ( I0g[18] , dir[3] , I0g[17] );
Toffoli ( I0g[19] , dir[4] , I0g[18] );
Toffoli ( I11[2] , dir[5] , I0g[19] );
Toffoli ( I0g[19] , dir[4] , I0g[18] );
Toffoli ( I0g[18] , dir[3] , I0g[17] );
Toffoli ( I0g[17] , dir[2] , I0g[16] );
X ( I11[2] );
CNOT ( I11[3] , I11[2] );
CNOT ( I0g[2] , I0g[20] );
CNOT ( I0g[20] , I0g[2] );
CNOT ( pos[18] , I0g[2] );
CNOT ( I0g[3] , I0g[21] );
CNOT ( I0g[21] , I0g[3] );
CNOT ( pos[24] , I0g[3] );
X ( I0g[2] );
X ( I0g[3] );
Toffoli ( I11[4] , I0g[2] , I0g[3] );
X ( I0g[2] );
X ( I0g[3] );
CNOT ( ctrl[0] , I11[0] );
CNOT ( I11[0] , I1g[139] );
CNOT ( ctrl[0] , I11[0] );
Toffoli ( I1g[139] , pos[25] , I11[0] );
CNOT ( I1g[139] , I11[0] );
Toffoli ( I1g[139] , I11[0] , I1g[140] );
Toffoli ( I1g[139] , pos[25] , I11[0] );
CNOT ( I1g[139] , I11[0] );
// Toffoli ( I1g[139] , I1g[140] , pos[24] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( pos[24] ,tof_anc[0], I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I11[0] , I1g[141] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I11[0] ,tof_anc[0], I1g[141] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , pos[24] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( pos[24] ,tof_anc[0], I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , dir[0] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( dir[0] ,tof_anc[1], I11[0] );
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0], I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I11[0] , I1g[142] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[0] ,tof_anc[1], I1g[142] );
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , dir[0] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( dir[0] ,tof_anc[1], I11[0] );
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0], I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , leaf[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1], leaf[0] );
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0], I1g[142] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , pos[25] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( pos[25] ,tof_anc[2], I11[0] );
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , pos[25] , I11[1] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( pos[25] ,tof_anc[2], I11[1] );
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I11[0] , I11[1] , I1g[143] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[0] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[143] );
Toffoli ( I11[0] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , pos[25] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( pos[25] ,tof_anc[2], I11[0] );
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , pos[25] , I11[1] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( pos[25] ,tof_anc[2], I11[1] );
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , pos[25] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( pos[25] ,tof_anc[3], I11[0] );
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , pos[24] , I11[1] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( pos[24] ,tof_anc[3], I11[1] );
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , I11[0] , I11[1] , I1g[144] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[0] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[144] );
Toffoli ( I11[0] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , pos[25] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( pos[25] ,tof_anc[3], I11[0] );
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , pos[24] , I11[1] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( pos[24] ,tof_anc[3], I11[1] );
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , I1g[144] , pos[25] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[25] ,tof_anc[4], I11[0] );
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , I1g[144] , pos[18] , I11[1] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[18] ,tof_anc[4], I11[1] );
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , I1g[144] , I11[0] , I11[1] , I1g[145] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[0] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[145] );
Toffoli ( I11[0] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , I1g[144] , pos[25] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[25] ,tof_anc[4], I11[0] );
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , I1g[144] , pos[18] , I11[1] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[18] ,tof_anc[4], I11[1] );
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , I1g[144] , I1g[145] , pos[25] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[25] ,tof_anc[5], I11[0] );
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , I1g[144] , I1g[145] , I11[2] , I11[1] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[2] ,tof_anc[5], I11[1] );
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , I1g[144] , I1g[145] , I11[0] , I11[1] , I1g[146] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[0] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[146] );
Toffoli ( I11[0] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , I1g[144] , I1g[145] , pos[25] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[25] ,tof_anc[5], I11[0] );
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , I1g[144] , I1g[145] , I11[2] , I11[1] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[2] ,tof_anc[5], I11[1] );
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , I1g[144] , I1g[145] , I1g[146] , binary[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[146] ,tof_anc[5], binary[0] );
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[143] , I1g[144] , I1g[145] , I1g[146] , paraleaf[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[146] ,tof_anc[5], paraleaf[0] );
Toffoli ( I1g[145] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[144] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[143] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0], I1g[142] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I11[4] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[4] ,tof_anc[2], I11[0] );
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I11[0] , I1g[147] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[0] ,tof_anc[2], I1g[147] );
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I11[4] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[4] ,tof_anc[2], I11[0] );
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I11[3] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[3] ,tof_anc[3], I11[0] );
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I11[0] , I1g[148] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[0] ,tof_anc[3], I1g[148] );
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I11[3] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[3] ,tof_anc[3], I11[0] );
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , pos[12] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[12] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I11[0] , I1g[149] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[0] ,tof_anc[4], I1g[149] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , pos[12] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[12] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[149] , height1[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[149] ,tof_anc[4], height1[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[149] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3], I1g[149] );
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[149] , pos[6] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[6] ,tof_anc[5], I11[0] );
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[149] , I11[0] , I1g[150] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[0] ,tof_anc[5], I1g[150] );
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[149] , pos[6] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[6] ,tof_anc[5], I11[0] );
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[149] , I1g[150] , r[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[150] ,tof_anc[5], r[0] );
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[149] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3], I1g[149] );
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[149] , pos[1] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[1] ,tof_anc[5], I11[0] );
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[149] , I11[0] , I1g[151] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[0] ,tof_anc[5], I1g[151] );
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[149] , pos[1] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[1] ,tof_anc[5], I11[0] );
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[149] , I1g[151] , rp[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[151] ,tof_anc[5], rp[0] );
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[149] , I1g[151] , binary[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[151] ,tof_anc[5], binary[0] );
Toffoli ( I1g[149] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2], I1g[148] );
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , pos[12] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[12] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3], I11[0] );
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I11[0] , I1g[152] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[0] ,tof_anc[4], I1g[152] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , pos[12] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[12] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3], I11[0] );
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[152] , pos[6] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[6] ,tof_anc[5], I11[0] );
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[152] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[152] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[152] , I11[0] , I1g[153] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[0] ,tof_anc[5], I1g[153] );
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[152] , pos[6] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[6] ,tof_anc[5], I11[0] );
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[152] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[152] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[152] , I1g[153] , pos[1] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[153] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[1] ,tof_anc[6], I11[0] );
Toffoli ( I1g[153] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[152] , I1g[153] , I11[0] , I1g[154] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[153] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[0] ,tof_anc[6], I1g[154] );
Toffoli ( I1g[153] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[152] , I1g[153] , pos[1] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[153] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[1] ,tof_anc[6], I11[0] );
Toffoli ( I1g[153] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[152] , I1g[153] , I1g[154] , height1[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[153] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[154] ,tof_anc[6], height1[0] );
Toffoli ( I1g[153] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[152] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2], I1g[148] );
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , pos[12] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[12] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3], I11[0] );
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I11[0] , I1g[155] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[0] ,tof_anc[4], I1g[155] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , pos[12] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[12] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3], I11[0] );
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[155] , pos[6] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[6] ,tof_anc[5], I11[0] );
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[155] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[155] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[155] , I11[0] , I1g[156] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[0] ,tof_anc[5], I1g[156] );
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[155] , pos[6] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[6] ,tof_anc[5], I11[0] );
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[155] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[155] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[155] , I1g[156] , dir[0] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[156] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[0] ,tof_anc[6], I11[0] );
Toffoli ( I1g[156] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[155] , I1g[156] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[156] ,tof_anc[5], I11[0] );
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[155] , I1g[156] , I11[0] , I1g[157] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[156] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[0] ,tof_anc[6], I1g[157] );
Toffoli ( I1g[156] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[155] , I1g[156] , dir[0] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[156] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[0] ,tof_anc[6], I11[0] );
Toffoli ( I1g[156] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[155] , I1g[156] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[156] ,tof_anc[5], I11[0] );
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[155] , I1g[156] , I1g[157] , rpp[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[156] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[157] ,tof_anc[6], rpp[0] );
Toffoli ( I1g[156] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[155] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2], I1g[148] );
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , pos[12] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[12] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3], I11[0] );
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I11[0] , I1g[158] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[0] ,tof_anc[4], I1g[158] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , pos[12] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[12] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3], I11[0] );
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[158] , pos[6] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[6] ,tof_anc[5], I11[0] );
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[158] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[158] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[158] , I11[0] , I1g[159] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[0] ,tof_anc[5], I1g[159] );
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[158] , pos[6] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[6] ,tof_anc[5], I11[0] );
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[158] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[158] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[158] , I1g[159] , pos[0] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[159] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[0] ,tof_anc[6], I11[0] );
Toffoli ( I1g[159] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[158] , I1g[159] , I11[0] , I1g[160] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[159] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[0] ,tof_anc[6], I1g[160] );
Toffoli ( I1g[159] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[158] , I1g[159] , pos[0] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[159] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[0] ,tof_anc[6], I11[0] );
Toffoli ( I1g[159] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[158] , I1g[159] , I1g[160] , r[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[159] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[160] ,tof_anc[6], r[0] );
Toffoli ( I1g[159] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[158] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2], I1g[148] );
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , pos[12] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[12] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3], I11[0] );
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I11[0] , I1g[161] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[0] ,tof_anc[4], I1g[161] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , pos[12] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[12] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3], I11[0] );
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[161] , pos[6] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[161] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[6] ,tof_anc[5], I11[0] );
Toffoli ( I1g[161] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[161] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[161] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[161] , I11[0] , I1g[162] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[161] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[0] ,tof_anc[5], I1g[162] );
Toffoli ( I1g[161] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[161] , pos[6] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[161] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[6] ,tof_anc[5], I11[0] );
Toffoli ( I1g[161] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[161] , I11[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[161] ,tof_anc[4], I11[0] );
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[161] , I1g[162] , rp[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[161] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[162] ,tof_anc[5], rp[0] );
Toffoli ( I1g[161] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
// Toffoli ( I1g[139] , I1g[140] , I1g[141] , I1g[142] , I1g[147] , I1g[148] , I1g[161] , I1g[162] , binary[0] );
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[161] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[162] ,tof_anc[5], binary[0] );
Toffoli ( I1g[161] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[148] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[147] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[142] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[141] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[139] , I1g[140] ,tof_anc[0]);
}
/* IARPA - GFI Algorithm 5 */
/* Progress status: done */
/* Classical implementation: No */
//module C_WALK(qbit ctrl[1], qstruct B_qstruct b){
// ctqg
module C_WALK(qbit ctrl[1], qbit pos[width], qbit leaf[1], qbit paraleaf[1], qbit binary[1], qbit height1[1], qbit r[1], qbit rp[1], qbit rpp[1], qbit dir[m]){
qbit I00[12];
qbit I11[2];
qbit I1g[8];
qbit tof_anc[8];
X ( dir[0] );
Toffoli ( dir[0] , I00[5] , paraleaf[0] );
Toffoli ( dir[0] , I00[9] , rp[0] );
X ( dir[0] );
Toffoli ( dir[0] , I00[8] , rp[0] );
Toffoli ( dir[0] , I00[6] , paraleaf[0] );
Toffoli ( I00[0] , I00[7] , height1[0] );
Toffoli ( dir[1] , I00[1] , dir[0] );
Toffoli ( I00[1] , I00[2] , dir[2] );
Toffoli ( I00[2] , I00[3] , dir[3] );
Toffoli ( I00[3] , I00[4] , dir[4] );
Toffoli ( I00[4] , I00[0] , dir[5] );
Toffoli ( I00[3] , I00[4] , dir[4] );
Toffoli ( I00[2] , I00[3] , dir[3] );
Toffoli ( I00[1] , I00[2] , dir[2] );
Toffoli ( I00[0] , I00[10] , r[0] );
CNOT ( leaf[0] , I11[0] );
CNOT ( I00[5] , I11[1] );
Toffoli ( I11[0] , I11[1] , I1g[0] );
CNOT ( leaf[0] , I11[0] );
CNOT ( I00[5] , I11[1] );
Toffoli ( I1g[0] , pos[25] , ctrl[0] );
X ( I1g[0] );
Toffoli ( I1g[0] , I00[6] , I11[0] );
Toffoli ( I1g[0] , I11[0] , I1g[1] );
Toffoli ( I1g[0] , I00[6] , I11[0] );
// Toffoli ( I1g[0] , I1g[1] , pos[0] , ctrl[0] , dir[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( pos[0] ,tof_anc[0],tof_anc[1]);
Toffoli ( ctrl[0] ,tof_anc[1], dir[0] );
Toffoli ( pos[0] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[0] , I1g[1] , dir[0] );
// Toffoli ( I1g[0] , I1g[1] , dir[0] , ctrl[0] , pos[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( dir[0] ,tof_anc[0],tof_anc[1]);
Toffoli ( ctrl[0] ,tof_anc[1], pos[0] );
Toffoli ( dir[0] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , pos[1] , ctrl[0] , dir[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( pos[1] ,tof_anc[0],tof_anc[1]);
Toffoli ( ctrl[0] ,tof_anc[1], dir[1] );
Toffoli ( pos[1] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[0] , I1g[1] , dir[1] );
// Toffoli ( I1g[0] , I1g[1] , dir[1] , ctrl[0] , pos[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( dir[1] ,tof_anc[0],tof_anc[1]);
Toffoli ( ctrl[0] ,tof_anc[1], pos[1] );
Toffoli ( dir[1] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , pos[2] , ctrl[0] , dir[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( pos[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( ctrl[0] ,tof_anc[1], dir[2] );
Toffoli ( pos[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[0] , I1g[1] , dir[2] );
// Toffoli ( I1g[0] , I1g[1] , dir[2] , ctrl[0] , pos[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( dir[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( ctrl[0] ,tof_anc[1], pos[2] );
Toffoli ( dir[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , pos[3] , ctrl[0] , dir[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( pos[3] ,tof_anc[0],tof_anc[1]);
Toffoli ( ctrl[0] ,tof_anc[1], dir[3] );
Toffoli ( pos[3] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[0] , I1g[1] , dir[3] );
// Toffoli ( I1g[0] , I1g[1] , dir[3] , ctrl[0] , pos[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( dir[3] ,tof_anc[0],tof_anc[1]);
Toffoli ( ctrl[0] ,tof_anc[1], pos[3] );
Toffoli ( dir[3] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , pos[4] , ctrl[0] , dir[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( pos[4] ,tof_anc[0],tof_anc[1]);
Toffoli ( ctrl[0] ,tof_anc[1], dir[4] );
Toffoli ( pos[4] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[0] , I1g[1] , dir[4] );
// Toffoli ( I1g[0] , I1g[1] , dir[4] , ctrl[0] , pos[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( dir[4] ,tof_anc[0],tof_anc[1]);
Toffoli ( ctrl[0] ,tof_anc[1], pos[4] );
Toffoli ( dir[4] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , pos[5] , ctrl[0] , dir[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( pos[5] ,tof_anc[0],tof_anc[1]);
Toffoli ( ctrl[0] ,tof_anc[1], dir[5] );
Toffoli ( pos[5] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[0] , I1g[1] , dir[5] );
// Toffoli ( I1g[0] , I1g[1] , dir[5] , ctrl[0] , pos[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( dir[5] ,tof_anc[0],tof_anc[1]);
Toffoli ( ctrl[0] ,tof_anc[1], pos[5] );
Toffoli ( dir[5] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
CNOT ( I1g[0] , I1g[1] );
// Toffoli ( I1g[0] , I1g[1] , rpp[0] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( rpp[0] ,tof_anc[0], I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I00[8] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I00[8] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I11[0] , I11[1] , I1g[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I11[0] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[2] );
Toffoli ( I11[0] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , rpp[0] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( rpp[0] ,tof_anc[0], I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I00[8] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I00[8] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[0] , ctrl[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[0] ,tof_anc[1], ctrl[0] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[0] , I1g[1] , I1g[2] );
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[9] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[9] ,tof_anc[1], I11[0] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[10] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[10] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[0] , I11[1] , I1g[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[0] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[3] );
Toffoli ( I11[0] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[9] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[9] ,tof_anc[1], I11[0] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[10] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[10] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , pos[1] , ctrl[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( pos[1] ,tof_anc[2], ctrl[0] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I1g[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , r[0] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( r[0] ,tof_anc[2], I11[0] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I11[0] , I1g[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[0] ,tof_anc[2], I1g[4] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , r[0] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( r[0] ,tof_anc[2], I11[0] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , pos[1] , ctrl[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( pos[1] ,tof_anc[3], ctrl[0] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , dir[0] , ctrl[0] , pos[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( dir[0] ,tof_anc[3],tof_anc[4]);
Toffoli ( ctrl[0] ,tof_anc[4], pos[0] );
Toffoli ( dir[0] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , pos[0] , ctrl[0] , dir[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( pos[0] ,tof_anc[3],tof_anc[4]);
Toffoli ( ctrl[0] ,tof_anc[4], dir[0] );
Toffoli ( pos[0] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , dir[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2], dir[0] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , dir[1] , ctrl[0] , pos[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( dir[1] ,tof_anc[3],tof_anc[4]);
Toffoli ( ctrl[0] ,tof_anc[4], pos[1] );
Toffoli ( dir[1] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , pos[1] , ctrl[0] , dir[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( pos[1] ,tof_anc[3],tof_anc[4]);
Toffoli ( ctrl[0] ,tof_anc[4], dir[1] );
Toffoli ( pos[1] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , dir[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2], dir[1] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , dir[2] , ctrl[0] , pos[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( dir[2] ,tof_anc[3],tof_anc[4]);
Toffoli ( ctrl[0] ,tof_anc[4], pos[2] );
Toffoli ( dir[2] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , pos[2] , ctrl[0] , dir[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( pos[2] ,tof_anc[3],tof_anc[4]);
Toffoli ( ctrl[0] ,tof_anc[4], dir[2] );
Toffoli ( pos[2] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , dir[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2], dir[2] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , dir[3] , ctrl[0] , pos[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( dir[3] ,tof_anc[3],tof_anc[4]);
Toffoli ( ctrl[0] ,tof_anc[4], pos[3] );
Toffoli ( dir[3] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , pos[3] , ctrl[0] , dir[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( pos[3] ,tof_anc[3],tof_anc[4]);
Toffoli ( ctrl[0] ,tof_anc[4], dir[3] );
Toffoli ( pos[3] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , dir[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2], dir[3] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , dir[4] , ctrl[0] , pos[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( dir[4] ,tof_anc[3],tof_anc[4]);
Toffoli ( ctrl[0] ,tof_anc[4], pos[4] );
Toffoli ( dir[4] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , pos[4] , ctrl[0] , dir[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( pos[4] ,tof_anc[3],tof_anc[4]);
Toffoli ( ctrl[0] ,tof_anc[4], dir[4] );
Toffoli ( pos[4] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , dir[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2], dir[4] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , dir[5] , ctrl[0] , pos[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( dir[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( ctrl[0] ,tof_anc[4], pos[5] );
Toffoli ( dir[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , pos[5] , ctrl[0] , dir[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( pos[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( ctrl[0] ,tof_anc[4], dir[5] );
Toffoli ( pos[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , dir[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2], dir[5] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1], I1g[4] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I00[7] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[0] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I11[0] , I1g[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[0] ,tof_anc[3], I1g[5] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I00[7] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[7] ,tof_anc[3], I11[0] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , pos[0] , ctrl[0] , dir[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[0] ,tof_anc[4],tof_anc[5]);
Toffoli ( ctrl[0] ,tof_anc[5], dir[0] );
Toffoli ( pos[0] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , dir[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3], dir[0] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , dir[0] , ctrl[0] , pos[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( dir[0] ,tof_anc[4],tof_anc[5]);
Toffoli ( ctrl[0] ,tof_anc[5], pos[0] );
Toffoli ( dir[0] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , pos[1] , ctrl[0] , dir[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( ctrl[0] ,tof_anc[5], dir[1] );
Toffoli ( pos[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , dir[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3], dir[1] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , dir[1] , ctrl[0] , pos[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( dir[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( ctrl[0] ,tof_anc[5], pos[1] );
Toffoli ( dir[1] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , pos[2] , ctrl[0] , dir[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[2] ,tof_anc[4],tof_anc[5]);
Toffoli ( ctrl[0] ,tof_anc[5], dir[2] );
Toffoli ( pos[2] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , dir[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3], dir[2] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , dir[2] , ctrl[0] , pos[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( dir[2] ,tof_anc[4],tof_anc[5]);
Toffoli ( ctrl[0] ,tof_anc[5], pos[2] );
Toffoli ( dir[2] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , pos[3] , ctrl[0] , dir[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[3] ,tof_anc[4],tof_anc[5]);
Toffoli ( ctrl[0] ,tof_anc[5], dir[3] );
Toffoli ( pos[3] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , dir[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3], dir[3] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , dir[3] , ctrl[0] , pos[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( dir[3] ,tof_anc[4],tof_anc[5]);
Toffoli ( ctrl[0] ,tof_anc[5], pos[3] );
Toffoli ( dir[3] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , pos[4] , ctrl[0] , dir[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[4] ,tof_anc[4],tof_anc[5]);
Toffoli ( ctrl[0] ,tof_anc[5], dir[4] );
Toffoli ( pos[4] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , dir[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3], dir[4] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , dir[4] , ctrl[0] , pos[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( dir[4] ,tof_anc[4],tof_anc[5]);
Toffoli ( ctrl[0] ,tof_anc[5], pos[4] );
Toffoli ( dir[4] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , pos[5] , ctrl[0] , dir[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[5] ,tof_anc[4],tof_anc[5]);
Toffoli ( ctrl[0] ,tof_anc[5], dir[5] );
Toffoli ( pos[5] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , dir[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3], dir[5] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , dir[5] , ctrl[0] , pos[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( dir[5] ,tof_anc[4],tof_anc[5]);
Toffoli ( ctrl[0] ,tof_anc[5], pos[5] );
Toffoli ( dir[5] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , pos[1] , ctrl[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( pos[1] ,tof_anc[4], ctrl[0] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2], I1g[5] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , height1[0] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( height1[0] ,tof_anc[4], I11[0] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I11[0] , I1g[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[0] ,tof_anc[4], I1g[6] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , height1[0] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( height1[0] ,tof_anc[4], I11[0] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , dir[0] , ctrl[0] , pos[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( dir[0] ,tof_anc[5],tof_anc[6]);
Toffoli ( ctrl[0] ,tof_anc[6], pos[0] );
Toffoli ( dir[0] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , pos[0] , ctrl[0] , dir[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[0] ,tof_anc[5],tof_anc[6]);
Toffoli ( ctrl[0] ,tof_anc[6], dir[0] );
Toffoli ( pos[0] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , dir[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4], dir[0] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , dir[1] , ctrl[0] , pos[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( dir[1] ,tof_anc[5],tof_anc[6]);
Toffoli ( ctrl[0] ,tof_anc[6], pos[1] );
Toffoli ( dir[1] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , pos[1] , ctrl[0] , dir[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[1] ,tof_anc[5],tof_anc[6]);
Toffoli ( ctrl[0] ,tof_anc[6], dir[1] );
Toffoli ( pos[1] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , dir[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4], dir[1] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , dir[2] , ctrl[0] , pos[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( dir[2] ,tof_anc[5],tof_anc[6]);
Toffoli ( ctrl[0] ,tof_anc[6], pos[2] );
Toffoli ( dir[2] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , pos[2] , ctrl[0] , dir[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[2] ,tof_anc[5],tof_anc[6]);
Toffoli ( ctrl[0] ,tof_anc[6], dir[2] );
Toffoli ( pos[2] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , dir[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4], dir[2] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , dir[3] , ctrl[0] , pos[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( dir[3] ,tof_anc[5],tof_anc[6]);
Toffoli ( ctrl[0] ,tof_anc[6], pos[3] );
Toffoli ( dir[3] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , pos[3] , ctrl[0] , dir[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[3] ,tof_anc[5],tof_anc[6]);
Toffoli ( ctrl[0] ,tof_anc[6], dir[3] );
Toffoli ( pos[3] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , dir[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4], dir[3] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , dir[4] , ctrl[0] , pos[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( dir[4] ,tof_anc[5],tof_anc[6]);
Toffoli ( ctrl[0] ,tof_anc[6], pos[4] );
Toffoli ( dir[4] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , pos[4] , ctrl[0] , dir[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[4] ,tof_anc[5],tof_anc[6]);
Toffoli ( ctrl[0] ,tof_anc[6], dir[4] );
Toffoli ( pos[4] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , dir[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4], dir[4] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , dir[5] , ctrl[0] , pos[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( dir[5] ,tof_anc[5],tof_anc[6]);
Toffoli ( ctrl[0] ,tof_anc[6], pos[5] );
Toffoli ( dir[5] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , pos[5] , ctrl[0] , dir[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( pos[5] ,tof_anc[5],tof_anc[6]);
Toffoli ( ctrl[0] ,tof_anc[6], dir[5] );
Toffoli ( pos[5] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , dir[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4], dir[5] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3], I1g[6] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I00[0] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[0] ,tof_anc[5], I11[0] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I11[0] , I1g[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[0] ,tof_anc[5], I1g[7] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I00[0] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[0] ,tof_anc[5], I11[0] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , pos[0] , ctrl[0] , dir[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[0] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], dir[0] );
Toffoli ( pos[0] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], dir[0] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[0] , ctrl[0] , pos[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[0] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], pos[0] );
Toffoli ( dir[0] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , pos[1] , ctrl[0] , dir[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[1] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], dir[1] );
Toffoli ( pos[1] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], dir[1] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[1] , ctrl[0] , pos[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[1] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], pos[1] );
Toffoli ( dir[1] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , pos[2] , ctrl[0] , dir[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[2] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], dir[2] );
Toffoli ( pos[2] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], dir[2] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[2] , ctrl[0] , pos[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[2] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], pos[2] );
Toffoli ( dir[2] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , pos[3] , ctrl[0] , dir[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[3] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], dir[3] );
Toffoli ( pos[3] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], dir[3] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[3] , ctrl[0] , pos[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[3] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], pos[3] );
Toffoli ( dir[3] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , pos[4] , ctrl[0] , dir[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[4] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], dir[4] );
Toffoli ( pos[4] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], dir[4] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[4] , ctrl[0] , pos[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[4] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], pos[4] );
Toffoli ( dir[4] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , pos[5] , ctrl[0] , dir[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[5] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], dir[5] );
Toffoli ( pos[5] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], dir[5] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[5] , ctrl[0] , pos[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[5] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], pos[5] );
Toffoli ( dir[5] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4], I1g[7] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[0] , ctrl[0] , pos[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[0] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], pos[0] );
Toffoli ( dir[0] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , pos[0] , ctrl[0] , dir[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[0] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], dir[0] );
Toffoli ( pos[0] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], dir[0] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[1] , ctrl[0] , pos[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[1] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], pos[1] );
Toffoli ( dir[1] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , pos[1] , ctrl[0] , dir[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[1] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], dir[1] );
Toffoli ( pos[1] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], dir[1] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[2] , ctrl[0] , pos[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[2] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], pos[2] );
Toffoli ( dir[2] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , pos[2] , ctrl[0] , dir[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[2] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], dir[2] );
Toffoli ( pos[2] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], dir[2] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[3] , ctrl[0] , pos[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[3] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], pos[3] );
Toffoli ( dir[3] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , pos[3] , ctrl[0] , dir[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[3] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], dir[3] );
Toffoli ( pos[3] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], dir[3] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[4] , ctrl[0] , pos[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[4] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], pos[4] );
Toffoli ( dir[4] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , pos[4] , ctrl[0] , dir[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[4] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], dir[4] );
Toffoli ( pos[4] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], dir[4] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[5] , ctrl[0] , pos[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( dir[5] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], pos[5] );
Toffoli ( dir[5] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , pos[5] , ctrl[0] , dir[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( pos[5] ,tof_anc[6],tof_anc[7]);
Toffoli ( ctrl[0] ,tof_anc[7], dir[5] );
Toffoli ( pos[5] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , dir[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], dir[5] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( pos[0] , I00[11] , rp[0] );
Toffoli ( ctrl[0] , dir[0] , I00[11] );
Toffoli ( pos[0] , I00[11] , rp[0] );
Toffoli ( pos[0] , I00[11] , rp[0] );
Toffoli ( ctrl[0] , dir[0] , I00[11] );
Toffoli ( pos[0] , I00[11] , rp[0] );
Toffoli ( pos[0] , I00[11] , rp[0] );
Toffoli ( ctrl[0] , dir[0] , I00[11] );
Toffoli ( pos[0] , I00[11] , rp[0] );
Toffoli ( pos[0] , I00[11] , rp[0] );
Toffoli ( ctrl[0] , dir[0] , I00[11] );
Toffoli ( pos[0] , I00[11] , rp[0] );
Toffoli ( pos[0] , I00[11] , rp[0] );
Toffoli ( ctrl[0] , dir[0] , I00[11] );
Toffoli ( pos[0] , I00[11] , rp[0] );
Toffoli ( pos[0] , I00[11] , rp[0] );
Toffoli ( ctrl[0] , dir[0] , I00[11] );
Toffoli ( pos[0] , I00[11] , rp[0] );
}
/* IARPA - GFI Algorithm 4 */
/* Progress status: finished */
/* Classical implementation: No */
//module C_DIFFUSE(qbit ctrl[1], qstruct Work_qstruct work, qbit dir[m]){
// begin ctqg
module C_DIFFUSE(qbit ctrl[1], qbit leaf[1], qbit paraleaf[1], qbit binary[1], qbit height1[1], qbit r[1], qbit rp[1], qbit rpp[1], qbit dir[m]){
int qubit;
/* Relace:
if (binary[0]==1) {
if (ctrl[0]==1)
H(dir[0]);
}else{
for(qubit=0; qubit<m; qubit++){ //forall
if (binary[0]==0) {
if (leaf[0] ==0 && rpp[0]==0){
H(dir[qubit]);
}
}
}
with: */
qbit bin1ctrl1[1];
qbit bin0leaf0rpp0[1];
qbit tof_anc[1];
PrepZ( bin1ctrl1[0], 0 );
PrepZ( bin0leaf0rpp0[0], 0 );
PrepZ( tof_anc[0], 0 );
// Generate control for H
Toffoli( binary[0], ctrl[0], bin1ctrl1[0] );
ctrlH( &dir[0], &bin1ctrl1[0] );
Toffoli( binary[0], ctrl[0], bin1ctrl1[0] ); // Uncompute
// Invert sense of all inputs
X( binary[0] );
X( leaf[0] );
X( rpp[0] );
// 3-ctrl Toffoli to generate control signal
Toffoli( binary[0], tof_anc[0], bin0leaf0rpp0[0] );
Toffoli( leaf[0], rpp[0], tof_anc[0] );
Toffoli( binary[0], tof_anc[0], bin0leaf0rpp0[0] );
Toffoli( leaf[0], rpp[0], tof_anc[0] );
// Apply ctrlH's
for(qubit=0; qubit<m; qubit++){ //forall
ctrlH( &dir[qubit], &bin0leaf0rpp0[0] );
}
// Uncompute tof_ancilla
Toffoli( leaf[0], rpp[0], tof_anc[0] );
Toffoli( binary[0], tof_anc[0], bin0leaf0rpp0[0] );
Toffoli( leaf[0], rpp[0], tof_anc[0] );
Toffoli( binary[0], tof_anc[0], bin0leaf0rpp0[0] );
// Restore the original values
X( rpp[0] );
X( leaf[0] );
X( binary[0] );
}
// end ctqg
/* IARPA - GFI Algorithm 3 */
/* Progress status: done */
/* Classical implementation: No */
/* begin ctqg
module C_ORACLE(qbit ctrl[1], qbit pos[width], qbit leaf[1], qbit paraleaf[1], qbit binary[1], qbit height1[1], qbit r[1], qbit rp[1], qbit rpp[1], qbit init_r[s], qbit init_b[s]){
int i;
qbit ancilla[1];
qbit hex[1];
qbit pos_temp[s-1];
//using pos_temp as a reference to pos[sm, (s-1)m, ..., 2m]; it should not count as new ancillas
for (int i=2; i<=s; i++){
pos_temp[i-2]=pos[i*m];
}
NOR(&ancilla[0], pos_temp, s-1);
// begin ctqg
if (ctrl[0]==1){
if (pos[width-1]==1){
X(leaf[0]);
}else if (pos[width-2]==1){
X(paraleaf[0]);
HEX(pos, init_r, init_b, hex);
CNOT(binary[0], hex[0]);
}else if (ancilla[0]==1){
if (pos[m]==1){
X(height1[0]);
}else if (pos[1]==1){
X(r[0]);
}else if (pos[0]==1){
X(rp[0]);
X(binary[0]);
}else{
X(rpp[0]);
}
}
}
// end ctqg
}
end ctqg */
module C_ORACLE(qbit ctrl[1], qbit pos[width], qbit leaf[1], qbit paraleaf[1], qbit binary[1], qbit height1[1], qbit r[1], qbit rp[1], qbit rpp[1], qbit init_r[s], qbit init_b[s]){
qbit I00[20];
qbit I0g[21];
qbit I11[7];
qbit I1g[146];
qbit tof_anc[9];
CNOT ( I0g[2] , I0g[5] );
CNOT ( I0g[5] , I0g[2] );
CNOT ( pos[12] , I0g[2] );
CNOT ( I0g[3] , I0g[6] );
CNOT ( I0g[6] , I0g[3] );
CNOT ( pos[18] , I0g[3] );
CNOT ( I0g[4] , I0g[7] );
CNOT ( I0g[7] , I0g[4] );
CNOT ( pos[24] , I0g[4] );
X ( I0g[2] );
X ( I0g[3] );
X ( I0g[4] );
Toffoli ( I0g[8] , I0g[2] , I0g[3] );
Toffoli ( I0g[0] , I0g[4] , I0g[8] );
X ( I0g[2] );
X ( I0g[3] );
X ( I0g[4] );
CNOT ( ctrl[0] , I11[0] );
CNOT ( I11[0] , I1g[0] );
CNOT ( ctrl[0] , I11[0] );
Toffoli ( I1g[0] , pos[25] , I11[0] );
Toffoli ( I1g[0] , I11[0] , I1g[1] );
Toffoli ( I1g[0] , pos[25] , I11[0] );
Toffoli ( I1g[0] , I1g[1] , leaf[0] );
CNOT ( I1g[0] , I1g[1] );
// Toffoli ( I1g[0] , I1g[1] , pos[24] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( pos[24] ,tof_anc[0], I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I11[0] , I1g[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I11[0] ,tof_anc[0], I1g[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , pos[24] , I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( pos[24] ,tof_anc[0], I11[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , paraleaf[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], paraleaf[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[8] , init_r[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[8] ,tof_anc[1], init_r[0] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[12] , init_b[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[12] ,tof_anc[1], init_b[0] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[18] , I00[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[18] ,tof_anc[1], I00[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[19] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[19] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[19] , I00[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[19] ,tof_anc[1], I00[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[19] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[19] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[20] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[20] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[20] , I00[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[20] ,tof_anc[1], I00[4] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[20] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[20] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[21] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[21] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[21] , I00[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[21] ,tof_anc[1], I00[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[21] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[21] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[22] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[22] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[22] , I00[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[22] ,tof_anc[1], I00[6] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[22] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[22] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[23] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[23] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[23] , I00[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[23] ,tof_anc[1], I00[7] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[23] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[23] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I11[1] , I1g[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[4] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2], I11[1] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I11[1] , I1g[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[5] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2], I11[1] );
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3], I11[1] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I11[1] , I1g[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[6] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3], I11[1] );
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4], I11[1] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I11[1] , I1g[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[7] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4], I11[1] );
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], I11[1] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I11[1] , I1g[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[8] );
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5], I11[1] );
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[1] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[8] );
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[8] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[8] ,tof_anc[7], I00[1] );
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[1] , I00[8] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[8] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[8] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[8] ,tof_anc[7], I00[1] );
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I0g[1] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[12] );
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[12] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[12] ,tof_anc[7], I00[1] );
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[1] , I00[12] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[12] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[12] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[12] ,tof_anc[7], I00[1] );
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[0] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[12] );
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[12] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[12] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[12] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[0] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[12] );
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6], I00[0] );
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[0] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[8] );
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[8] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[8] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[8] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[3] , I1g[4] , I1g[5] , I1g[6] , I1g[7] , I1g[8] , I00[0] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[8] );
Toffoli ( I1g[8] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[7] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[6] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[5] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[4] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[3] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[9] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I11[1] , I1g[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[10] );
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2], I11[1] );
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I11[1] , I1g[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[11] );
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2], I11[1] );
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3], I11[1] );
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I11[1] , I1g[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[12] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3], I11[1] );
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4], I11[1] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I11[1] , I1g[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[13] );
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4], I11[1] );
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5], I11[1] );
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I11[1] , I1g[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[14] );
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5], I11[1] );
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[1] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[9] );
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[9] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[9] ,tof_anc[7], I00[1] );
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[1] , I00[9] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[9] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[9] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[9] ,tof_anc[7], I00[1] );
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I0g[1] , I00[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[13] );
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[13] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[13] ,tof_anc[7], I00[1] );
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[1] , I00[13] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[13] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[13] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[13] ,tof_anc[7], I00[1] );
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[0] , I00[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[13] );
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[13] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[13] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[13] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[0] , I00[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[13] );
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6], I00[0] );
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[0] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[9] );
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[9] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[9] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[9] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[9] , I1g[10] , I1g[11] , I1g[12] , I1g[13] , I1g[14] , I00[0] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[9] );
Toffoli ( I1g[14] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[13] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[12] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[11] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[10] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[15] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I11[1] , I1g[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[16] );
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2], I11[1] );
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I11[1] , I1g[17] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[17] );
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2], I11[1] );
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3], I11[1] );
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I11[1] , I1g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[18] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3], I11[1] );
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4], I11[1] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I11[1] , I1g[19] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[19] );
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4], I11[1] );
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5], I11[1] );
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I11[1] , I1g[20] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[20] );
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5], I11[1] );
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[1] , I00[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[10] );
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[10] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[10] ,tof_anc[7], I00[1] );
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[1] , I00[10] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[10] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[10] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[10] ,tof_anc[7], I00[1] );
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I0g[1] , I00[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[14] );
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[14] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[14] ,tof_anc[7], I00[1] );
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[1] , I00[14] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[14] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[14] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[14] ,tof_anc[7], I00[1] );
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[0] , I00[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[14] );
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[14] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[14] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[14] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[0] , I00[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[14] );
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6], I00[0] );
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[0] , I00[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[10] );
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[10] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[10] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[10] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[15] , I1g[16] , I1g[17] , I1g[18] , I1g[19] , I1g[20] , I00[0] , I00[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[10] );
Toffoli ( I1g[20] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[19] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[18] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[17] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[16] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[21] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[21] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I11[1] , I1g[22] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[22] );
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2], I11[1] );
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I11[1] , I1g[23] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[23] );
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2], I11[1] );
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3], I11[1] );
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I11[1] , I1g[24] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[24] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3], I11[1] );
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4], I11[1] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I11[1] , I1g[25] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[25] );
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4], I11[1] );
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5], I11[1] );
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I11[1] , I1g[26] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[26] );
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5], I11[1] );
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[1] , I00[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[11] );
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[11] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[11] ,tof_anc[7], I00[1] );
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[1] , I00[11] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[11] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[11] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[11] ,tof_anc[7], I00[1] );
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I0g[1] , I00[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[15] );
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[15] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[15] ,tof_anc[7], I00[1] );
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[1] , I00[15] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[15] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[15] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[15] ,tof_anc[7], I00[1] );
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[0] , I00[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[15] );
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[15] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[15] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[15] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[0] , I00[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[15] );
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6], I00[0] );
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[0] , I00[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[11] );
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[11] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[11] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[11] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[21] , I1g[22] , I1g[23] , I1g[24] , I1g[25] , I1g[26] , I00[0] , I00[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[11] );
Toffoli ( I1g[26] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[25] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[24] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[23] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[22] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[21] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[18] , I00[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[18] ,tof_anc[1], I00[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[19] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[19] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[19] , I00[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[19] ,tof_anc[1], I00[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[19] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[19] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[20] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[20] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[20] , I00[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[20] ,tof_anc[1], I00[4] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[20] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[20] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[21] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[21] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[21] , I00[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[21] ,tof_anc[1], I00[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[21] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[21] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[22] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[22] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[22] , I00[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[22] ,tof_anc[1], I00[6] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[22] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[22] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[23] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[23] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[23] , I00[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[23] ,tof_anc[1], I00[7] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[23] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[23] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[9] , init_r[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[9] ,tof_anc[1], init_r[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[13] , init_b[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[13] ,tof_anc[1], init_b[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[12] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[12] , I00[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[12] ,tof_anc[1], I00[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[12] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[13] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[13] , I00[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[13] ,tof_anc[1], I00[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[13] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[14] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[14] , I00[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[14] ,tof_anc[1], I00[4] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[14] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[15] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[15] , I00[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[15] ,tof_anc[1], I00[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[15] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[16] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[16] , I00[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[16] ,tof_anc[1], I00[6] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[16] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[17] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[17] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[17] , I00[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[17] ,tof_anc[1], I00[7] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[17] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[17] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[27] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[27] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I11[1] , I1g[28] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[28] );
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2], I11[1] );
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I11[1] , I1g[29] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[29] );
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2], I11[1] );
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3], I11[1] );
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I11[1] , I1g[30] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[30] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3], I11[1] );
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4], I11[1] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I11[1] , I1g[31] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[31] );
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4], I11[1] );
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5], I11[1] );
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I11[1] , I1g[32] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[32] );
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5], I11[1] );
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[1] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[8] );
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[8] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[8] ,tof_anc[7], I00[1] );
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[1] , I00[8] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[8] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[8] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[8] ,tof_anc[7], I00[1] );
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I0g[1] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[12] );
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[12] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[12] ,tof_anc[7], I00[1] );
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[1] , I00[12] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[12] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[12] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[12] ,tof_anc[7], I00[1] );
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[0] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[12] );
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[12] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[12] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[12] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[0] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[12] );
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6], I00[0] );
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[0] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[8] );
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[8] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[8] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[8] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[27] , I1g[28] , I1g[29] , I1g[30] , I1g[31] , I1g[32] , I00[0] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[8] );
Toffoli ( I1g[32] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[31] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[30] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[29] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[28] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[27] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[33] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[33] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I11[1] , I1g[34] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[34] );
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2], I11[1] );
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I11[1] , I1g[35] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[35] );
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2], I11[1] );
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3], I11[1] );
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I11[1] , I1g[36] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[36] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3], I11[1] );
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4], I11[1] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I11[1] , I1g[37] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[37] );
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4], I11[1] );
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5], I11[1] );
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I11[1] , I1g[38] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[38] );
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5], I11[1] );
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[1] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[9] );
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[9] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[9] ,tof_anc[7], I00[1] );
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[1] , I00[9] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[9] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[9] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[9] ,tof_anc[7], I00[1] );
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I0g[1] , I00[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[13] );
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[13] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[13] ,tof_anc[7], I00[1] );
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[1] , I00[13] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[13] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[13] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[13] ,tof_anc[7], I00[1] );
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[0] , I00[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[13] );
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[13] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[13] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[13] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[0] , I00[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[13] );
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6], I00[0] );
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[0] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[9] );
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[9] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[9] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[9] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[33] , I1g[34] , I1g[35] , I1g[36] , I1g[37] , I1g[38] , I00[0] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[9] );
Toffoli ( I1g[38] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[37] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[36] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[35] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[34] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[33] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[39] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[39] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I11[1] , I1g[40] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[40] );
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2], I11[1] );
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I11[1] , I1g[41] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[41] );
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2], I11[1] );
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3], I11[1] );
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I11[1] , I1g[42] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[42] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3], I11[1] );
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4], I11[1] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I11[1] , I1g[43] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[43] );
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4], I11[1] );
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5], I11[1] );
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I11[1] , I1g[44] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[44] );
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5], I11[1] );
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[1] , I00[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[10] );
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[10] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[10] ,tof_anc[7], I00[1] );
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[1] , I00[10] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[10] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[10] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[10] ,tof_anc[7], I00[1] );
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I0g[1] , I00[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[14] );
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[14] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[14] ,tof_anc[7], I00[1] );
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[1] , I00[14] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[14] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[14] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[14] ,tof_anc[7], I00[1] );
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[0] , I00[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[14] );
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[14] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[14] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[14] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[0] , I00[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[14] );
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6], I00[0] );
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[0] , I00[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[10] );
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[10] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[10] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[10] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[39] , I1g[40] , I1g[41] , I1g[42] , I1g[43] , I1g[44] , I00[0] , I00[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[10] );
Toffoli ( I1g[44] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[43] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[42] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[41] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[40] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[39] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[45] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[45] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I11[1] , I1g[46] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[46] );
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2], I11[1] );
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I11[1] , I1g[47] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[47] );
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2], I11[1] );
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3], I11[1] );
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I11[1] , I1g[48] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[48] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3], I11[1] );
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4], I11[1] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I11[1] , I1g[49] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[49] );
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4], I11[1] );
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5], I11[1] );
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I11[1] , I1g[50] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[50] );
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5], I11[1] );
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[1] , I00[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[11] );
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[11] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[11] ,tof_anc[7], I00[1] );
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[1] , I00[11] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[11] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[11] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[11] ,tof_anc[7], I00[1] );
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I0g[1] , I00[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[15] );
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[15] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[15] ,tof_anc[7], I00[1] );
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[1] , I00[15] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[15] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[15] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[15] ,tof_anc[7], I00[1] );
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[0] , I00[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[15] );
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[15] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[15] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[15] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[0] , I00[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[15] );
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6], I00[0] );
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[0] , I00[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[11] );
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[11] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[11] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[11] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[45] , I1g[46] , I1g[47] , I1g[48] , I1g[49] , I1g[50] , I00[0] , I00[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[11] );
Toffoli ( I1g[50] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[49] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[48] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[47] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[46] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[45] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[12] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[12] , I00[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[12] ,tof_anc[1], I00[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[12] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[13] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[13] , I00[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[13] ,tof_anc[1], I00[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[13] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[14] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[14] , I00[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[14] ,tof_anc[1], I00[4] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[14] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[15] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[15] , I00[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[15] ,tof_anc[1], I00[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[15] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[16] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[16] , I00[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[16] ,tof_anc[1], I00[6] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[16] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[17] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[17] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[17] , I00[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[17] ,tof_anc[1], I00[7] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[17] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[17] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[10] , init_r[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[10] ,tof_anc[1], init_r[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[14] , init_b[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[14] ,tof_anc[1], init_b[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[6] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[6] , I00[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[6] ,tof_anc[1], I00[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[6] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[7] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[7] , I00[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[7] ,tof_anc[1], I00[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[7] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[8] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[8] , I00[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[8] ,tof_anc[1], I00[4] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[8] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[9] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[9] , I00[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[9] ,tof_anc[1], I00[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[9] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[10] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[10] , I00[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[10] ,tof_anc[1], I00[6] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[10] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[11] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[11] , I00[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[11] ,tof_anc[1], I00[7] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[11] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[51] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[51] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I11[1] , I1g[52] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[52] );
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2], I11[1] );
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I11[1] , I1g[53] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[53] );
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2], I11[1] );
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3], I11[1] );
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I11[1] , I1g[54] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[54] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3], I11[1] );
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4], I11[1] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I11[1] , I1g[55] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[55] );
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4], I11[1] );
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5], I11[1] );
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I11[1] , I1g[56] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[56] );
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5], I11[1] );
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[1] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[8] );
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[8] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[8] ,tof_anc[7], I00[1] );
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[1] , I00[8] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[8] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[8] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[8] ,tof_anc[7], I00[1] );
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I0g[1] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[12] );
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[12] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[12] ,tof_anc[7], I00[1] );
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[1] , I00[12] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[12] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[12] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[12] ,tof_anc[7], I00[1] );
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[0] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[12] );
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[12] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[12] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[12] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[0] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[12] );
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6], I00[0] );
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[0] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[8] );
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[8] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[8] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[8] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[51] , I1g[52] , I1g[53] , I1g[54] , I1g[55] , I1g[56] , I00[0] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[8] );
Toffoli ( I1g[56] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[55] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[54] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[53] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[52] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[51] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[57] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[57] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I11[1] , I1g[58] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[58] );
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2], I11[1] );
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I11[1] , I1g[59] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[59] );
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2], I11[1] );
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3], I11[1] );
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I11[1] , I1g[60] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[60] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3], I11[1] );
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4], I11[1] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I11[1] , I1g[61] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[61] );
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4], I11[1] );
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5], I11[1] );
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I11[1] , I1g[62] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[62] );
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5], I11[1] );
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[1] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[9] );
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[9] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[9] ,tof_anc[7], I00[1] );
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[1] , I00[9] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[9] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[9] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[9] ,tof_anc[7], I00[1] );
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I0g[1] , I00[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[13] );
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[13] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[13] ,tof_anc[7], I00[1] );
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[1] , I00[13] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[13] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[13] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[13] ,tof_anc[7], I00[1] );
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[0] , I00[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[13] );
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[13] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[13] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[13] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[0] , I00[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[13] );
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6], I00[0] );
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[0] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[9] );
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[9] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[9] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[9] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[57] , I1g[58] , I1g[59] , I1g[60] , I1g[61] , I1g[62] , I00[0] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[9] );
Toffoli ( I1g[62] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[61] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[60] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[59] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[58] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[57] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[63] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[63] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I11[1] , I1g[64] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[64] );
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2], I11[1] );
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I11[1] , I1g[65] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[65] );
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2], I11[1] );
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3], I11[1] );
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I11[1] , I1g[66] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[66] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3], I11[1] );
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4], I11[1] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I11[1] , I1g[67] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[67] );
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4], I11[1] );
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5], I11[1] );
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I11[1] , I1g[68] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[68] );
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5], I11[1] );
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[1] , I00[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[10] );
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[10] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[10] ,tof_anc[7], I00[1] );
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[1] , I00[10] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[10] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[10] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[10] ,tof_anc[7], I00[1] );
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I0g[1] , I00[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[14] );
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[14] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[14] ,tof_anc[7], I00[1] );
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[1] , I00[14] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[14] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[14] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[14] ,tof_anc[7], I00[1] );
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[0] , I00[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[14] );
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[14] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[14] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[14] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[0] , I00[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[14] );
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6], I00[0] );
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[0] , I00[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[10] );
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[10] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[10] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[10] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[63] , I1g[64] , I1g[65] , I1g[66] , I1g[67] , I1g[68] , I00[0] , I00[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[10] );
Toffoli ( I1g[68] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[67] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[66] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[65] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[64] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[63] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[69] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[69] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I11[1] , I1g[70] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[70] );
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2], I11[1] );
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I11[1] , I1g[71] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[71] );
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2], I11[1] );
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3], I11[1] );
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I11[1] , I1g[72] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[72] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3], I11[1] );
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4], I11[1] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I11[1] , I1g[73] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[73] );
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4], I11[1] );
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5], I11[1] );
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I11[1] , I1g[74] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[74] );
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5], I11[1] );
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[1] , I00[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[11] );
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[11] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[11] ,tof_anc[7], I00[1] );
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[1] , I00[11] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[11] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[11] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[11] ,tof_anc[7], I00[1] );
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I0g[1] , I00[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[15] );
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[15] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[15] ,tof_anc[7], I00[1] );
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[1] , I00[15] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[15] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[15] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[15] ,tof_anc[7], I00[1] );
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[0] , I00[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[15] );
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[15] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[15] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[15] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[0] , I00[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[15] );
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6], I00[0] );
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[0] , I00[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[11] );
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[11] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[11] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[11] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[69] , I1g[70] , I1g[71] , I1g[72] , I1g[73] , I1g[74] , I00[0] , I00[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[11] );
Toffoli ( I1g[74] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[73] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[72] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[71] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[70] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[69] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[6] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[6] , I00[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[6] ,tof_anc[1], I00[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[6] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[7] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[7] , I00[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[7] ,tof_anc[1], I00[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[7] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[8] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[8] , I00[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[8] ,tof_anc[1], I00[4] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[8] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[9] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[9] , I00[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[9] ,tof_anc[1], I00[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[9] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[10] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[10] , I00[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[10] ,tof_anc[1], I00[6] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[10] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[11] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[11] , I00[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[11] ,tof_anc[1], I00[7] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[11] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[11] , init_r[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[11] ,tof_anc[1], init_r[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[15] , init_b[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[15] ,tof_anc[1], init_b[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[0] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[0] , I00[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[0] ,tof_anc[1], I00[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[0] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[1] , I00[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[1] ,tof_anc[1], I00[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[2] , I00[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[2] ,tof_anc[1], I00[4] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[3] , I00[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[3] ,tof_anc[1], I00[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[4] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[4] , I00[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[4] ,tof_anc[1], I00[6] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[4] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[5] , I00[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[5] ,tof_anc[1], I00[7] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[75] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[75] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I11[1] , I1g[76] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[76] );
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2], I11[1] );
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I11[1] , I1g[77] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[77] );
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2], I11[1] );
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3], I11[1] );
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I11[1] , I1g[78] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[78] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3], I11[1] );
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4], I11[1] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I11[1] , I1g[79] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[79] );
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4], I11[1] );
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5], I11[1] );
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I11[1] , I1g[80] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[80] );
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5], I11[1] );
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[1] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[8] );
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[8] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[8] ,tof_anc[7], I00[1] );
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[1] , I00[8] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[8] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[8] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[8] ,tof_anc[7], I00[1] );
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I0g[1] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[12] );
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[12] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[12] ,tof_anc[7], I00[1] );
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[1] , I00[12] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[12] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[12] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[12] ,tof_anc[7], I00[1] );
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[0] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[12] );
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[12] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[12] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[12] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[0] , I00[12] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[12] );
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6], I00[0] );
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[0] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[8] );
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[8] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[8] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[8] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[75] , I1g[76] , I1g[77] , I1g[78] , I1g[79] , I1g[80] , I00[0] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[8] );
Toffoli ( I1g[80] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[79] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[78] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[77] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[76] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[75] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[81] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[81] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I11[1] , I1g[82] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[82] );
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2], I11[1] );
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I11[1] , I1g[83] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[83] );
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2], I11[1] );
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3], I11[1] );
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I11[1] , I1g[84] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[84] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3], I11[1] );
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4], I11[1] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I11[1] , I1g[85] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[85] );
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4], I11[1] );
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5], I11[1] );
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I11[1] , I1g[86] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[86] );
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5], I11[1] );
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[1] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[9] );
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[9] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[9] ,tof_anc[7], I00[1] );
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[1] , I00[9] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[9] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[9] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[9] ,tof_anc[7], I00[1] );
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I0g[1] , I00[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[13] );
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[13] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[13] ,tof_anc[7], I00[1] );
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[1] , I00[13] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[13] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[13] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[13] ,tof_anc[7], I00[1] );
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[0] , I00[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[13] );
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[13] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[13] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[13] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[0] , I00[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[13] );
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6], I00[0] );
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[0] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[9] );
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[9] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[9] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[9] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[81] , I1g[82] , I1g[83] , I1g[84] , I1g[85] , I1g[86] , I00[0] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[9] );
Toffoli ( I1g[86] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[85] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[84] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[83] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[82] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[81] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[87] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[87] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I11[1] , I1g[88] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[88] );
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2], I11[1] );
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I11[1] , I1g[89] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[89] );
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2], I11[1] );
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3], I11[1] );
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I11[1] , I1g[90] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[90] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3], I11[1] );
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4], I11[1] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I11[1] , I1g[91] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[91] );
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4], I11[1] );
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5], I11[1] );
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I11[1] , I1g[92] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[92] );
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5], I11[1] );
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[1] , I00[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[10] );
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[10] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[10] ,tof_anc[7], I00[1] );
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[1] , I00[10] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[10] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[10] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[10] ,tof_anc[7], I00[1] );
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I0g[1] , I00[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[14] );
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[14] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[14] ,tof_anc[7], I00[1] );
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[1] , I00[14] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[14] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[14] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[14] ,tof_anc[7], I00[1] );
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[0] , I00[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[14] );
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[14] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[14] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[14] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[0] , I00[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[14] );
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6], I00[0] );
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[0] , I00[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[10] );
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[10] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[10] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[10] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[87] , I1g[88] , I1g[89] , I1g[90] , I1g[91] , I1g[92] , I00[0] , I00[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[10] );
Toffoli ( I1g[92] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[91] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[90] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[89] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[88] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[87] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[1] , I1g[93] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[1] ,tof_anc[1], I1g[93] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], I11[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I11[1] , I1g[94] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[1] ,tof_anc[2], I1g[94] );
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I00[3] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[3] ,tof_anc[2], I11[1] );
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2], I11[1] );
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I11[1] , I1g[95] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[1] ,tof_anc[3], I1g[95] );
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I00[4] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I00[4] ,tof_anc[3], I11[1] );
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2], I11[1] );
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3], I11[1] );
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I11[1] , I1g[96] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[1] ,tof_anc[4], I1g[96] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I00[5] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I00[5] ,tof_anc[4], I11[1] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3], I11[1] );
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4], I11[1] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I11[1] , I1g[97] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I11[1] ,tof_anc[5], I1g[97] );
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I00[6] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I00[6] ,tof_anc[5], I11[1] );
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4], I11[1] );
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5], I11[1] );
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I11[1] , I1g[98] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I11[1] ,tof_anc[6], I1g[98] );
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I00[7] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I00[7] ,tof_anc[6], I11[1] );
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I11[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5], I11[1] );
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[1] , I00[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7], I00[11] );
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[11] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[11] ,tof_anc[7], I00[1] );
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[1] , I00[11] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[11] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[11] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[11] ,tof_anc[7], I00[1] );
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I0g[1] , I00[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I0g[1] ,tof_anc[7], I00[15] );
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[15] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[15] ,tof_anc[7], I00[1] );
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[1] , I00[15] , I0g[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[15] ,tof_anc[8], I0g[1] );
Toffoli ( I00[1] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[15] , I00[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[15] ,tof_anc[7], I00[1] );
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[0] , I00[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[15] );
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[15] , I00[0] , I11[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[15] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[2] );
Toffoli ( I00[15] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[0] , I00[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[15] );
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6], I00[0] );
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[0] , I00[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[11] );
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[11] , I00[0] , I11[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[11] ,tof_anc[7],tof_anc[8]);
Toffoli ( I00[0] ,tof_anc[8], I11[3] );
Toffoli ( I00[11] ,tof_anc[7],tof_anc[8]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[93] , I1g[94] , I1g[95] , I1g[96] , I1g[97] , I1g[98] , I00[0] , I00[11] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I00[0] ,tof_anc[7], I00[11] );
Toffoli ( I1g[98] ,tof_anc[6],tof_anc[7]);
Toffoli ( I1g[97] ,tof_anc[5],tof_anc[6]);
Toffoli ( I1g[96] ,tof_anc[4],tof_anc[5]);
Toffoli ( I1g[95] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[94] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[93] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[0] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[0] , I00[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[0] ,tof_anc[1], I00[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[2] , pos[0] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[2] ,tof_anc[1], pos[0] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[1] , I00[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[1] ,tof_anc[1], I00[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[3] , pos[1] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[3] ,tof_anc[1], pos[1] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[2] , I00[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[2] ,tof_anc[1], I00[4] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[4] , pos[2] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[4] ,tof_anc[1], pos[2] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[3] , I00[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[3] ,tof_anc[1], I00[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[5] , pos[3] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[5] ,tof_anc[1], pos[3] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[4] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[4] , I00[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[4] ,tof_anc[1], I00[6] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[6] , pos[4] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[6] ,tof_anc[1], pos[4] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , pos[5] , I00[7] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( pos[5] ,tof_anc[1], I00[7] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[7] , pos[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[7] ,tof_anc[1], pos[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[16] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[16] ,tof_anc[1], I00[8] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I00[8] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[17] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[17] ,tof_anc[1], I00[9] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I00[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[13] , I00[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[13] ,tof_anc[1], I00[16] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[16] , I0g[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[16] ,tof_anc[1], I0g[13] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[13] , I00[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[13] ,tof_anc[1], I00[16] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[14] , I00[17] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[14] ,tof_anc[1], I00[17] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[17] , I0g[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[17] ,tof_anc[1], I0g[14] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[14] , I00[17] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[14] ,tof_anc[1], I00[17] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[15] , I00[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[15] ,tof_anc[1], I00[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[18] , I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[18] ,tof_anc[1], I0g[15] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[15] , I00[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[15] ,tof_anc[1], I00[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[16] , I00[19] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[16] ,tof_anc[1], I00[19] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[19] , I0g[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[19] ,tof_anc[1], I0g[16] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[16] , I00[19] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[16] ,tof_anc[1], I00[19] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[19] , I0g[13] , I0g[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[19] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[13] ,tof_anc[2], I0g[14] );
Toffoli ( I0g[19] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[20] , I0g[15] , I0g[19] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[20] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[15] ,tof_anc[2], I0g[19] );
Toffoli ( I0g[20] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] , I0g[16] , I0g[20] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[16] ,tof_anc[2], I0g[20] );
Toffoli ( I0g[9] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[20] , I0g[15] , I0g[19] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[20] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[15] ,tof_anc[2], I0g[19] );
Toffoli ( I0g[20] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[17] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[17] ,tof_anc[1], I0g[9] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[99] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[99] ,tof_anc[1], I0g[9] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] , I1g[99] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I1g[99] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[99] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[99] ,tof_anc[1], I0g[9] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[13] , I0g[17] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[13] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[17] ,tof_anc[2], I0g[18] );
Toffoli ( I0g[13] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[16] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[16] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[10] , I0g[18] , I00[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[10] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I00[16] );
Toffoli ( I0g[10] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[16] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[16] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[18] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[5] , I1g[100] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[100] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[18] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[100] , I00[10] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[10] ,tof_anc[2], I11[5] );
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[100] , I11[5] , I1g[101] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[101] );
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[100] , I00[10] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[10] ,tof_anc[2], I11[5] );
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[100] , I1g[101] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[101] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[101] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[100] , I1g[101] , I11[5] , I1g[102] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[101] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[102] );
Toffoli ( I1g[101] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[100] , I1g[101] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[101] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[101] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[100] , I1g[101] , I1g[102] , I11[6] , I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[101] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[102] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[15] );
Toffoli ( I1g[102] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[101] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[100] , I1g[101] , I1g[102] , I0g[15] , I11[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[101] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[102] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[15] ,tof_anc[4], I11[6] );
Toffoli ( I1g[102] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[101] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[100] , I1g[101] , I1g[102] , I11[6] , I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[101] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[102] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[15] );
Toffoli ( I1g[102] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[101] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[100] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[13] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[13] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[11] , I0g[18] , I0g[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[11] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I0g[13] );
Toffoli ( I0g[11] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[13] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[13] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[12] , I0g[18] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[12] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I0g[9] );
Toffoli ( I0g[12] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[14] , I0g[17] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[14] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[17] ,tof_anc[2], I0g[18] );
Toffoli ( I0g[14] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[17] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[17] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[10] , I0g[18] , I00[17] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[10] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I00[17] );
Toffoli ( I0g[10] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[17] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[17] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[19] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[19] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[5] , I1g[103] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[103] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[19] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[19] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[103] , I00[11] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[11] ,tof_anc[2], I11[5] );
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[103] , I11[5] , I1g[104] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[104] );
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[103] , I00[11] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[11] ,tof_anc[2], I11[5] );
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[103] , I1g[104] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[104] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[104] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[103] , I1g[104] , I11[5] , I1g[105] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[104] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[105] );
Toffoli ( I1g[104] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[103] , I1g[104] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[104] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[104] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[103] , I1g[104] , I1g[105] , I11[6] , I0g[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[104] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[105] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[16] );
Toffoli ( I1g[105] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[104] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[103] , I1g[104] , I1g[105] , I0g[16] , I11[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[104] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[105] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[16] ,tof_anc[4], I11[6] );
Toffoli ( I1g[105] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[104] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[103] , I1g[104] , I1g[105] , I11[6] , I0g[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[104] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[105] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[16] );
Toffoli ( I1g[105] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[104] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[103] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[16] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[16] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[5] , I1g[106] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[106] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[16] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[16] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[106] , I00[8] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[8] ,tof_anc[2], I11[5] );
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[106] , I11[5] , I1g[107] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[107] );
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[106] , I00[8] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[8] ,tof_anc[2], I11[5] );
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[106] , I1g[107] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[107] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[107] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[106] , I1g[107] , I11[5] , I1g[108] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[107] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[108] );
Toffoli ( I1g[107] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[106] , I1g[107] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[107] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[107] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[106] , I1g[107] , I1g[108] , I11[6] , I0g[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[107] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[108] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[13] );
Toffoli ( I1g[108] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[107] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[106] , I1g[107] , I1g[108] , I0g[13] , I11[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[107] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[108] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[13] ,tof_anc[4], I11[6] );
Toffoli ( I1g[108] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[107] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[106] , I1g[107] , I1g[108] , I11[6] , I0g[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[107] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[108] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[13] );
Toffoli ( I1g[108] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[107] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[106] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[18] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[5] , I1g[109] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[109] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[18] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[109] , I00[10] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[10] ,tof_anc[2], I11[5] );
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[109] , I11[5] , I1g[110] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[110] );
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[109] , I00[10] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[10] ,tof_anc[2], I11[5] );
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[109] , I1g[110] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[110] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[110] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[109] , I1g[110] , I11[5] , I1g[111] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[110] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[111] );
Toffoli ( I1g[110] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[109] , I1g[110] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[110] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[110] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[109] , I1g[110] , I1g[111] , I11[6] , I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[110] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[111] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[15] );
Toffoli ( I1g[111] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[110] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[109] , I1g[110] , I1g[111] , I0g[15] , I11[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[110] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[111] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[15] ,tof_anc[4], I11[6] );
Toffoli ( I1g[111] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[110] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[109] , I1g[110] , I1g[111] , I11[6] , I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[110] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[111] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[15] );
Toffoli ( I1g[111] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[110] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[109] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[14] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[14] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[11] , I0g[18] , I0g[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[11] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I0g[14] );
Toffoli ( I0g[11] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[14] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[14] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[12] , I0g[18] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[12] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I0g[9] );
Toffoli ( I0g[12] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[15] , I0g[17] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[17] ,tof_anc[2], I0g[18] );
Toffoli ( I0g[15] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[18] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[18] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[10] , I0g[18] , I00[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[10] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I00[18] );
Toffoli ( I0g[10] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[18] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[18] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[16] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[16] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[5] , I1g[112] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[112] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[16] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[16] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[112] , I00[8] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[8] ,tof_anc[2], I11[5] );
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[112] , I11[5] , I1g[113] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[113] );
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[112] , I00[8] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[8] ,tof_anc[2], I11[5] );
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[112] , I1g[113] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[113] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[113] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[112] , I1g[113] , I11[5] , I1g[114] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[113] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[114] );
Toffoli ( I1g[113] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[112] , I1g[113] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[113] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[113] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[112] , I1g[113] , I1g[114] , I11[6] , I0g[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[113] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[114] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[13] );
Toffoli ( I1g[114] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[113] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[112] , I1g[113] , I1g[114] , I0g[13] , I11[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[113] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[114] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[13] ,tof_anc[4], I11[6] );
Toffoli ( I1g[114] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[113] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[112] , I1g[113] , I1g[114] , I11[6] , I0g[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[113] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[114] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[13] );
Toffoli ( I1g[114] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[113] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[112] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[15] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[15] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[11] , I0g[18] , I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[11] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I0g[15] );
Toffoli ( I0g[11] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[15] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[15] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[12] , I0g[18] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[12] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I0g[9] );
Toffoli ( I0g[12] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[16] , I0g[17] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[16] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[17] ,tof_anc[2], I0g[18] );
Toffoli ( I0g[16] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[19] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[19] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[10] , I0g[18] , I00[19] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[10] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I00[19] );
Toffoli ( I0g[10] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[19] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[19] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[17] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[17] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[5] , I1g[115] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[115] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[17] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[17] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[115] , I00[9] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[9] ,tof_anc[2], I11[5] );
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[115] , I11[5] , I1g[116] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[116] );
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[115] , I00[9] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[9] ,tof_anc[2], I11[5] );
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[115] , I1g[116] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[116] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[116] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[115] , I1g[116] , I11[5] , I1g[117] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[116] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[117] );
Toffoli ( I1g[116] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[115] , I1g[116] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[116] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[116] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[115] , I1g[116] , I1g[117] , I11[6] , I0g[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[116] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[117] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[14] );
Toffoli ( I1g[117] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[116] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[115] , I1g[116] , I1g[117] , I0g[14] , I11[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[116] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[117] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[14] ,tof_anc[4], I11[6] );
Toffoli ( I1g[117] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[116] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[115] , I1g[116] , I1g[117] , I11[6] , I0g[14] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[116] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[117] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[14] );
Toffoli ( I1g[117] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[116] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[115] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[18] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[5] , I1g[118] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[118] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[18] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[118] , I00[10] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[10] ,tof_anc[2], I11[5] );
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[118] , I11[5] , I1g[119] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[119] );
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[118] , I00[10] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[10] ,tof_anc[2], I11[5] );
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[118] , I1g[119] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[119] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[119] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[118] , I1g[119] , I11[5] , I1g[120] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[119] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[120] );
Toffoli ( I1g[119] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[118] , I1g[119] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[119] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[119] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[118] , I1g[119] , I1g[120] , I11[6] , I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[119] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[120] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[15] );
Toffoli ( I1g[120] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[119] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[118] , I1g[119] , I1g[120] , I0g[15] , I11[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[119] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[120] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[15] ,tof_anc[4], I11[6] );
Toffoli ( I1g[120] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[119] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[118] , I1g[119] , I1g[120] , I11[6] , I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[119] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[120] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[15] );
Toffoli ( I1g[120] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[119] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[118] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[16] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[16] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[11] , I0g[18] , I0g[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[11] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I0g[16] );
Toffoli ( I0g[11] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[16] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[16] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[12] , I0g[18] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[12] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I0g[9] );
Toffoli ( I0g[12] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[17] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[17] ,tof_anc[1], I0g[9] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[17] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[17] ,tof_anc[1], I0g[9] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[99] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[99] ,tof_anc[1], I0g[9] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] , I1g[99] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I1g[99] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[99] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[99] ,tof_anc[1], I0g[9] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[13] , I0g[17] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[13] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[17] ,tof_anc[2], I0g[18] );
Toffoli ( I0g[13] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[16] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[16] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[10] , I0g[18] , I00[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[10] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I00[16] );
Toffoli ( I0g[10] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[16] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[16] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[18] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[5] , I1g[121] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[121] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[18] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[121] , I00[10] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[10] ,tof_anc[2], I11[5] );
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[121] , I11[5] , I1g[122] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[122] );
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[121] , I00[10] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[10] ,tof_anc[2], I11[5] );
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[121] , I1g[122] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[122] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[122] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[121] , I1g[122] , I11[5] , I1g[123] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[122] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[123] );
Toffoli ( I1g[122] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[121] , I1g[122] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[122] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[122] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[121] , I1g[122] , I1g[123] , I11[6] , I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[122] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[123] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[15] );
Toffoli ( I1g[123] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[122] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[121] , I1g[122] , I1g[123] , I0g[15] , I11[6] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[122] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[123] ,tof_anc[3],tof_anc[4]);
Toffoli ( I0g[15] ,tof_anc[4], I11[6] );
Toffoli ( I1g[123] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[122] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[121] , I1g[122] , I1g[123] , I11[6] , I0g[15] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[122] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[123] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_anc[4], I0g[15] );
Toffoli ( I1g[123] ,tof_anc[3],tof_anc[4]);
Toffoli ( I1g[122] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[121] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[13] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[13] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[11] , I0g[18] , I0g[13] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[11] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I0g[13] );
Toffoli ( I0g[11] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[13] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[13] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[12] , I0g[18] , I0g[9] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[12] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I0g[9] );
Toffoli ( I0g[12] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[9] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[9] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0], I0g[10] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[14] , I0g[17] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[14] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[17] ,tof_anc[2], I0g[18] );
Toffoli ( I0g[14] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[17] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[17] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I0g[10] , I0g[18] , I00[17] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I0g[10] ,tof_anc[1],tof_anc[2]);
Toffoli ( I0g[18] ,tof_anc[2], I00[17] );
Toffoli ( I0g[10] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[17] , I0g[18] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[17] ,tof_anc[1], I0g[18] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[19] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[19] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I11[5] , I1g[124] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I11[5] ,tof_anc[1], I1g[124] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I00[19] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I00[19] ,tof_anc[1], I11[5] );
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[124] , I00[11] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[124] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[11] ,tof_anc[2], I11[5] );
Toffoli ( I1g[124] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[124] , I11[5] , I1g[125] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[124] ,tof_anc[1],tof_anc[2]);
Toffoli ( I11[5] ,tof_anc[2], I1g[125] );
Toffoli ( I1g[124] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[124] , I00[11] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[124] ,tof_anc[1],tof_anc[2]);
Toffoli ( I00[11] ,tof_anc[2], I11[5] );
Toffoli ( I1g[124] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[124] , I1g[125] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[124] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[125] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[125] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[124] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[124] , I1g[125] , I11[5] , I1g[126] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[124] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[125] ,tof_anc[2],tof_anc[3]);
Toffoli ( I11[5] ,tof_anc[3], I1g[126] );
Toffoli ( I1g[125] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[124] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[124] , I1g[125] , I0g[18] , I11[5] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[124] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[125] ,tof_anc[2],tof_anc[3]);
Toffoli ( I0g[18] ,tof_anc[3], I11[5] );
Toffoli ( I1g[125] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[124] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
// Toffoli ( I1g[0] , I1g[1] , I1g[2] , I1g[124] , I1g[125] , I1g[126] , I11[6] , I0g[16] );
Toffoli ( I1g[0] , I1g[1] ,tof_anc[0]);
Toffoli ( I1g[2] ,tof_anc[0],tof_anc[1]);
Toffoli ( I1g[124] ,tof_anc[1],tof_anc[2]);
Toffoli ( I1g[125] ,tof_anc[2],tof_anc[3]);
Toffoli ( I1g[126] ,tof_anc[3],tof_anc[4]);
Toffoli ( I11[6] ,tof_a