## Early Resynthesys Tool

"Early" is a resynthesis tool which takes in a dual rail circuit and reports on its early output properties. It can also generate the "early output perfect" circuit.

Version 0.1 source

### Usage

```early [-/+ options] "Equation"
-/+ h             Help
-/+ e             Print out perfect early equations [off]
-/+ p             Calculate perfect circuit [on]
-/+ c             Calculate given circuit [on]
-/+ 1             Print spreadsheet 1 data [off]
-/+ 2             Print spreadsheet 2 data [off]
-/+ v             Print progress %
```

#### Equation Operators:

AND : "." "&"
OR : "+" "|"
XOR : "^"
EQU : "="

e.g.
"a.~s+b.s"
"S1 = FF1.C^LD1.LD0^(FF0.C^LD1.LD0.LD2) S0 = FF0.C^LD1.LD0^LD2 SB0 = ~S1.~S2 SB0.(LD1+LD0)+(S0.~S1)^(LD2.~SB0)"

#### Example Operation:

```> ./early +e "~S2.(~S1.~S0.I0+S0.~S1.I1+~S0.S1.I2+S0.S1.I3)+(~S0.~S1.I4+S0.~S1.I5+~S0.S1.I6+S0.S1.I7).S2"
Parsed 90 characters
Unparsed:
~S2.(~S1.~S0.I0+S0.~S1.I1+~S0.S1.I2+S0.S1.I3)+(~S0.~S1.I4+S0.~S1.I5+~S0.S1.I6+S0.S1.I7).S2;
^
Found 11 inputs
11 of 11 present, of the 2048 combinations there are 2048 early outputs(100.00%) out of a possible 2048 (100.00%)
10 of 11 present, of the 11264 combinations there are 7936 early outputs(70.45%) out of a possible 8704 (77.27%)
9 of 11 present, of the 28160 combinations there are 13152 early outputs(46.70%) out of a possible 15552 (55.23%)
8 of 11 present, of the 42240 combinations there are 12033 early outputs(28.49%) out of a possible 15106 (35.76%)
7 of 11 present, of the 42240 combinations there are 6544 early outputs(15.49%) out of a possible 8608 (20.38%)
6 of 11 present, of the 29568 combinations there are 2112 early outputs(7.14%) out of a possible 2880 (9.74%)
5 of 11 present, of the 14784 combinations there are 374 early outputs(2.53%) out of a possible 524 (3.54%)
4 of 11 present, of the 5280 combinations there are 28 early outputs(0.53%) out of a possible 40 (0.76%)
3 of 11 present, of the 1320 combinations there are 0 early outputs(0.00%) out of a possible 0 (0.00%)
2 of 11 present, of the 220 combinations there are 0 early outputs(0.00%) out of a possible 0 (0.00%)
1 of 11 present, of the 22 combinations there are 0 early outputs(0.00%) out of a possible 0 (0.00%)
0 of 11 present, of the 1 combinations there are 0 early outputs(0.00%) out of a possible 0 (0.00%)
Circuit average inputs needed:9.29 (84.42%)
Perfect average inputs needed:8.97 (81.57%)
S2   S1   S0   I0   I1   I2   I3   I4   I5   I6   I7   =  Values
x    x    x    0    0    0    0    0    0    0    0    =>  0
x    x    0    0    x    0    x    0    x    0    x    =>  0
x    x    1    x    0    x    0    x    0    x    0    =>  0
x    0    x    0    0    x    x    0    0    x    x    =>  0
x    0    0    0    x    x    x    0    x    x    x    =>  0
x    0    1    x    0    x    x    x    0    x    x    =>  0
x    1    x    x    x    0    0    x    x    0    0    =>  0
x    1    0    x    x    0    x    x    x    0    x    =>  0
x    1    1    x    x    x    0    x    x    x    0    =>  0
0    x    x    0    0    0    0    x    x    x    x    =>  0
0    x    0    0    x    0    x    x    x    x    x    =>  0
0    x    1    x    0    x    0    x    x    x    x    =>  0
0    0    x    0    0    x    x    x    x    x    x    =>  0
0    0    0    0    x    x    x    x    x    x    x    =>  0
0    0    1    x    0    x    x    x    x    x    x    =>  0
0    1    x    x    x    0    0    x    x    x    x    =>  0
0    1    0    x    x    0    x    x    x    x    x    =>  0
0    1    1    x    x    x    0    x    x    x    x    =>  0
1    x    x    x    x    x    x    0    0    0    0    =>  0
1    x    0    x    x    x    x    0    x    0    x    =>  0
1    x    1    x    x    x    x    x    0    x    0    =>  0
1    0    x    x    x    x    x    0    0    x    x    =>  0
1    0    0    x    x    x    x    0    x    x    x    =>  0
1    0    1    x    x    x    x    x    0    x    x    =>  0
1    1    x    x    x    x    x    x    x    0    0    =>  0
1    1    0    x    x    x    x    x    x    0    x    =>  0
1    1    1    x    x    x    x    x    x    x    0    =>  0
x    x    x    1    1    1    1    1    1    1    1    =>  1 Uncaught
x    x    0    1    x    1    x    1    x    1    x    =>  1 Uncaught
x    x    1    x    1    x    1    x    1    x    1    =>  1 Uncaught
x    0    x    1    1    x    x    1    1    x    x    =>  1 Uncaught
x    0    0    1    x    x    x    1    x    x    x    =>  1 Uncaught
x    0    1    x    1    x    x    x    1    x    x    =>  1 Uncaught
x    1    x    x    x    1    1    x    x    1    1    =>  1 Uncaught
x    1    0    x    x    1    x    x    x    1    x    =>  1 Uncaught
x    1    1    x    x    x    1    x    x    x    1    =>  1 Uncaught
0    x    x    1    1    1    1    x    x    x    x    =>  1 Uncaught
0    x    0    1    x    1    x    x    x    x    x    =>  1 Uncaught
0    x    1    x    1    x    1    x    x    x    x    =>  1 Uncaught
0    0    x    1    1    x    x    x    x    x    x    =>  1 Uncaught
0    0    0    1    x    x    x    x    x    x    x    =>  1
0    0    1    x    1    x    x    x    x    x    x    =>  1
0    1    x    x    x    1    1    x    x    x    x    =>  1 Uncaught
0    1    0    x    x    1    x    x    x    x    x    =>  1
0    1    1    x    x    x    1    x    x    x    x    =>  1
1    x    x    x    x    x    x    1    1    1    1    =>  1 Uncaught
1    x    0    x    x    x    x    1    x    1    x    =>  1 Uncaught
1    x    1    x    x    x    x    x    1    x    1    =>  1 Uncaught
1    0    x    x    x    x    x    1    1    x    x    =>  1 Uncaught
1    0    0    x    x    x    x    1    x    x    x    =>  1
1    0    1    x    x    x    x    x    1    x    x    =>  1
1    1    x    x    x    x    x    x    x    1    1    =>  1 Uncaught
1    1    0    x    x    x    x    x    x    1    x    =>  1
1    1    1    x    x    x    x    x    x    x    1    =>  1
0 minterms with 0 care inputs
0 minterms with 1 care inputs
0 minterms with 2 care inputs
0 minterms with 3 care inputs
40 minterms with 4 care inputs
12 minterms with 5 care inputs
0 minterms with 6 care inputs
0 minterms with 7 care inputs
2 minterms with 8 care inputs
0 minterms with 9 care inputs
0 minterms with 10 care inputs
0 minterms with 11 care inputs
Average of 4.370370/11 care inputs per minterm
```