diff --git a/alu.dig b/alu.dig
index c1ced12..d580757 100644
--- a/alu.dig
+++ b/alu.dig
@@ -6,7 +6,7 @@
shifter.dig
-
+
Sub
@@ -37,7 +37,7 @@
Bits
- 32
+ 16
wideShape
@@ -51,7 +51,7 @@
Bits
- 32
+ 16
wideShape
@@ -67,8 +67,12 @@
Label
a
+
+ Bits
+ 16
+
-
+
In
@@ -77,8 +81,12 @@
Label
b
+
+ Bits
+ 16
+
-
+
multiply-add.dig
@@ -97,11 +105,16 @@
16
-
+
Neg
-
+
+
+ Bits
+ 16
+
+
@@ -116,7 +129,7 @@
1*16
-
+
Splitter
@@ -130,7 +143,7 @@
1*16
-
+
NOr
@@ -144,7 +157,7 @@
16
-
+
NOr
@@ -158,17 +171,7 @@
16
-
-
-
- NAnd
-
-
- wideShape
- true
-
-
-
+
Out
@@ -178,7 +181,7 @@
LZ
-
+
Out
@@ -188,21 +191,21 @@
Z
-
+
Splitter
Input Splitting
- 32
+ 16
Output Splitting
- 31,1
+ 15,1
-
+
Out
@@ -212,7 +215,7 @@
N
-
+
Add
@@ -224,59 +227,411 @@
+
+ XOr
+
+
+ wideShape
+ true
+
+
+
+
+
+ Out
+
+
+ Label
+ V
+
+
+
+
+
+ Multiplexer
+
+
+ Bits
+ 16
+
+
+ Selector Bits
+ 3
+
+
+
+
+
+ Multiplexer
+
+
+ Selector Bits
+ 3
+
+
+
+
+
+ Const
+
+
+ Value
+ 0
+
+
+
+
+
+ Out
+
+
+ Label
+ u0
+
+
+ Bits
+ 16
+
+
+
+
+
+ Out
+
+
+ Label
+ u1
+
+
+ Bits
+ 16
+
+
+
+
+
+ Out
+
+
+ Label
+ C_o
+
+
+
+
+
+ Tunnel
+
+
+ NetName
+ s
+
+
+
+
+
+ Tunnel
+
+
+ NetName
+ s
+
+
+
+
+
+ In
+
+
+ Label
+ C_i
+
+
+
+
+
+ In
+
+
+ Label
+ Op
+
+
+ Bits
+ 4
+
+
+
+
+
+ Splitter
+
+
+ rotation
+
+
+
+ Input Splitting
+ 16
+
+
+ Output Splitting
+ 15,1
+
+
+
+
+
+ Splitter
+
+
+ rotation
+
+
+
+ Input Splitting
+ 16
+
+
+ Output Splitting
+ 15,1
+
+
+
+
+
+ Tunnel
+
+
+ NetName
+ s
+
+
+
+
+
+ Splitter
+
+
+ Input Splitting
+ 1*3
+
+
+ Output Splitting
+ 3
+
+
+
+
+
+ Splitter
+
+
+ Input Splitting
+ 4
+
+
+ Output Splitting
+ 1*4
+
+
+
+
+
+ And
+
+
+ wideShape
+ true
+
+
+
+
+
+ Splitter
+
+
+ Input Splitting
+ 16
+
+
+ Output Splitting
+ 4
+
+
+
+
+
+ And
+
+
+ wideShape
+ true
+
+
+ inverterConfig
+
+ In_2
+
+
+
+
+
+
+ And
+
+
+ wideShape
+ true
+
+
+
+
+
+ XNOr
+
+
+ rotation
+
+
+
+ wideShape
+ true
+
+
+
+
+
+ And
+
+
+ wideShape
+ true
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -287,48 +642,68 @@
-
-
-
-
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -339,60 +714,92 @@
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
+
+
-
-
+
+
+
+
+
+
@@ -403,32 +810,40 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
@@ -439,60 +854,104 @@
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
@@ -503,25 +962,53 @@
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
+
+
+
+
@@ -531,201 +1018,397 @@
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
-
+
+
-
+
+
+
+
+
-
-
+
+
+
+
+
+
+
+
+
+
@@ -734,10 +1417,6 @@
-
-
-
-
@@ -746,10 +1425,6 @@
-
-
-
-
\ No newline at end of file