--- /dev/null
+strict digraph sbox6i {
+ x0 [shape=box, label="\N"];
+ x1 [shape=box, label="\N"];
+ x2 [shape=box, label="\N"];
+ x3 [shape=box, label="\N"];
+
+ y0 [shape=box, label="\N"];
+ y1 [shape=box, label="\N"];
+ y2 [shape=box, label="\N"];
+ y3 [shape=box, label="\N"];
+
+ // To get to y1, we need to save t02
+ // To get to y3, we need to save y1, t02, t05, t07, t01
+ // To get to y0, we need to save t02, t07, t05, t01
+
+ // Get to y1
+ t02 [label="\N\ny3\n1"];
+ t06 [label="\N\ny0\n2"];
+ t08 [label="\N\ny1\n3"];
+ y1 [label="\N\n4"];
+ // Get to t05
+ t01 [label="\N\nx2\n4"];
+ t03 [label="\N\ny2\n5"];
+ t05 [label="\N\ny2\n6"];
+ // Get to t07
+ t16 [label="\N\nx3\n7"];
+ t04 [label="\N\ny3\n8"];
+ t07 [label="\N\ny3\n9"];
+ // Get to y0
+ t09 [label="\N\ny0\n10"];
+ y0 [label="\N\n11"];
+ // Get to y3
+ t13 [label="\N\ny2\n12"];
+ t15 [label="\N\ny3\n13"];
+ t17 [label="\N\nx0\n14"];
+ y3 [label="\N\n15"];
+ // Get to y2
+ t12 [label="\N\nx1\n16"];
+ t14 [label="\N\ny2\n17"];
+ y2 [label="\N\n18"];
+
+ // t02 [label="\N\nx2\n1"];
+ // t08 [label="\N\ny1\n2"];
+ // t06 [label="\N\ny2\n3"];
+ // y1 [label="\N\n4", shape=box];
+ // t04 [label="\N\ny0\n6"];
+ // t07 [label="\N\ny0\n7"];
+ // t16 [label="\N\nx2\n9"];
+ // t03 [label="\N\ny2\n10"];
+ // t05 [label="\N\nx3\n11"];
+
+ x0 -> t01; x2 -> t01; // t01 = x0 ^ x2;
+ x2 -> t02; // t02 = ~ x2;
+ x1 -> t03; t01-> t03; // t03 = x1 & t01;
+ x1 -> t04; t02-> t04; // t04 = x1 | t02;
+ x3 -> t05; t03-> t05; // t05 = x3 | t03;
+ x1 -> t06; x3 -> t06; // t06 = x1 ^ x3;
+ x0 -> t07; t04-> t07; // t07 = x0 & t04;
+ x0 -> t08; t02-> t08; // t08 = x0 | t02;
+ t07 -> t09; t05-> t09; // t09 = t07 ^ t05;
+ t06 -> y1; t08-> y1; // y1 = t06 ^ t08;
+ t09 -> y0; // y0 = ~ t09;
+ x1 -> t12; y0 -> t12; // t12 = x1 & y0;
+ t01 -> t13; t05-> t13; // t13 = t01 & t05;
+ t01 -> t14; t12-> t14; // t14 = t01 ^ t12;
+ t07 -> t15; t13-> t15; // t15 = t07 ^ t13;
+ x3 -> t16; t02-> t16; // t16 = x3 | t02;
+ x0 -> t17; y1 -> t17; // t17 = x0 ^ y1;
+ t17 -> y3; t15-> y3; // y3 = t17 ^ t15;
+ t16 -> y2; t14-> y2; // y2 = t16 ^ t14;
+}