In the following COSA state trace look at the “Value” column to see what the application is doing.  There are 18 entries and it takes 30 logical steps (compared to the 96 with the ITE trace) to perform the calculation:
   "-3.14159 - - 2.14159 = -1"

 

Count

Step

Trace

Eng

Dynamic

Static

Action

Value

1

+T= 0;

100

Off;

44;

44;

Negate;

N= -

2

+T= 1;

101

Off;

1;

1;

Any_Number;

N= -3

3

–F= 1;

101

On; 

59;

1;

Ignore;

N=

4

+T= 2;

102

Off;

59;

59;

One_Period;

N= -3.

5

+T= 3;

103

Off;

1;

1;

Any_Number;

N= -3.1

6

+T= 3;

103

Off;

1;

1;

Any_Number;

N= -3.14

7

+T= 3;

103

Off;

1;

1;

Any_Number;

N= -3.141

8

+T= 3;

103

Off;

1;

1;

Any_Number;

N= -3.1415

9

+T= 3;

103

Off;

1;

1;

Any_Number;

N= -3.14159

10

–F= 3;

103

On; 

44;

1;

Ignore; 

N=

11

–F= 4;

104

On; 

44;

12;

Ignore; 

N=

12

–F= 5;

105

On; 

44;

11;

Ignore; 

N=

13

–F= 6;

106

On; 

44;

1;

Push_Disp; 

N=

14

–F= 7;

500

On; 

44;

43;

Ignore; 

N=

15

+T= 8;

501

On; 

1;

44;

Subtraction;

N= -3.14159

16

+T= 12;

700

Off;

1;

1;

Engine_Off;

N= -3.14159

17

+T= 13;

701

Off;

44;

44;

Negate; 

N= -

18

+T= 14;

702

Off;

1;

1;

Any_Number;

N= -2

19

–F= 14;

702

Off;

59;

1;

Ignore; 

N=

20

+T= 15;

703

Off;

59;

59;

One_Period;

N= -2.

21

+T= 16;

704

Off;

1;

1;

Any_Number;

N= -2.1

22

+T= 16;

704

Off;

1;

1;

Any_Number;

N= -2.14

23

+T= 16;

704

Off;

1;

1;

Any_Number;

N= -2.141

24

+T= 16;

704

Off;

1;

1;

Any_Number;

N= -2.1415

25

+T= 16;

704

Off;

1;

1;

Any_Number;

N= -2.14159

26

–F= 16;

705

On; 

13;

1;

Ignore; 

N=

27

–F= 18;

706

On; 

13;

12;

Ignore; 

N=

28

–F= 17;

707

On; 

13;

1;

Save_Disp; 

N=

29

–F= 19;

900

On; 

13;

11;

Ignore; 

N=

30

+T= 20;

901

Off;

13;

13;

Equals; 

N= -1

Trace 8.1

COSA Calculator Trace