Разработка языка, предназначенного для программирования потоковых вычислений, страница 16

2do2

Номер

Метка

Операция

Операнд 1

Операнд 2

Результат

0

+

v3v2

v3v1

tmp_7

1

let

tmp_7

_null

in1

2

-

v3v2

v3v1

tmp_8

3

let

tmp_8

_null

in2

4

in2

in1

tmp_9

5

GF

Label0_3

tmp_9

_null

6

let

in1

_null

stek1

7

GO

Label1_3

_null

_null

8

Label0_3:

>=

in1

in2

tmp_10

9

GF

Label0_4

tmp_10

_null

10

let

in2

_null

stek1

11

Label0_4:

_null

_null

_null

_null

12

Label1_3:

*

v3v2

v3v1

tmp_11

13

stek1

tmp_11

tmp_12

14

GF

Label0_5

tmp_12

_null

15

*

v3v2

v3v1

tmp_13

16

let

tmp_13

_null

stek1

17

Label0_5:

/

v3v1

v3v2

tmp_14

18

stek1

tmp_14

tmp_15

19

GF

Label0_6

tmp_15

_null

20

/

v3v1

v3v2

tmp_16

21

let

tmp_16

_null

stek1

22

Label0_6:

let

stek1

_null

out1

3do3

Номер

Метка

Операция

Операнд 1

Операнд 2

Результат

0

>=

4

x41

tmp_17

1

GF

Label0_7

tmp_17

_null

2

+

x45

x44

tmp_18

3

+

tmp_18

x43

tmp_19

4

+

tmp_19

x42

tmp_20

5

/

4

tmp_20

tmp_21

6

let

tmp_21

_null

out41

7

GO

Label1_7

_null

_null

8

Label0_7:

==

0

x41

tmp_22

9

GF

Label0_8

tmp_22

_null

10

*

x45

x44

tmp_23

11

*

tmp_23

x43

tmp_24

12

*

tmp_24

x42

tmp_25

13

let

tmp_25

_null

out41

14

GO

Label1_8

_null

_null

15

Label0_8:

+

x45

x44

tmp_26

16

+

tmp_26

x43

tmp_27

17

+

tmp_27

x42

tmp_28

18

/

x41

tmp_28

tmp_29

19

let

tmp_29

_null

out41

20

Label1_8:

_null

_null

_null

_null

21

Label1_7:

_null

_null

_null

_null

4do4