; 8-bit VBE adder
title "8-bit VBE adder"
arch ac

var A0
var B0
temp C0
var A1
var B1
temp C1
var A2
var B2
temp C2
var A3
var B3
temp C3
var A4
var B4
temp C4
var A5
var B5
temp C5
var A6
var B6
temp C6
var A7
var B7
var K

1:	CCNOT A0  B0  C0
	CCNOT A1  B1  C1
	CCNOT A2  B2  C2
	CCNOT A3  B3  C3
	CCNOT A4  B4  C4
	CCNOT A5  B5  C5
	CCNOT A6  B6  C6
	CCNOT A7  B7  K
2:	CNOT  A1  B1
	CNOT  A2  B2
	CNOT  A3  B3
	CNOT  A4  B4
	CNOT  A5  B5
	CNOT  A6  B6
	CNOT  A7  B7
3:	CCNOT C0  B1  C1
4:	CCNOT C1  B2  C2
5:	CCNOT C2  B3  C3
6:	CCNOT C3  B4  C4
7:	CCNOT C4  B5  C5
8:	CCNOT C5  B6  C6
9:	CCNOT C6  B7  K
10:	CNOT  C6  B7
11:	CCNOT C5  B6  C6
12:	CNOT  A6  B6
13:	CCNOT A6  B6  C6	
14:	CNOT  C5  B6
15:	CNOT  A6  B6
	CCNOT C4  B5  C5
16:	CNOT  A5  B5
17:	CCNOT A5  B5  C5	
18:	CNOT  C4  B5
19:	CNOT  A5  B5
	CCNOT C3  B4  C4
20:	CNOT  A4  B4    
21:	CCNOT A4  B4  C4
22:	CNOT  C3  B4    
23:	CNOT  A4  B4    
	CCNOT C2  B3  C3
24:	CNOT  A3  B3    
25:	CCNOT A3  B3  C3
26:    	CNOT  C2  B3    
27:	CNOT  A3  B3    
	CCNOT C1  B2  C2
28:	CNOT  A2  B2    
29:	CCNOT A2  B2  C2
30:    	CNOT  C1  B2    
31:	CNOT  A2  B2    
	CCNOT C0  B1  C1
32:	CNOT  A1  B1    
33:	CCNOT A1  B1  C1
34:    	CNOT  C0  B1    
35:	CNOT  A1  B1    
	CCNOT A0  B0  C0
36:	CNOT  A0  B0    
