|
|
|
@ -5,34 +5,34 @@ digraph{ |
|
|
|
|
1[label="Node Type: NEW VARIABLE 1 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
p_new = p |
|
|
|
|
a = p |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
p_new(uint256) := p(uint256)"]; |
|
|
|
|
a(uint256) := p(uint256)"]; |
|
|
|
|
1->2; |
|
|
|
|
2[label="Node Type: NEW VARIABLE 2 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
dt = 1 |
|
|
|
|
b = 1 |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
dt(uint256) := 1(uint256)"]; |
|
|
|
|
b(uint256) := 1(uint256)"]; |
|
|
|
|
2->3; |
|
|
|
|
3[label="Node Type: NEW VARIABLE 3 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
ratio = 0 |
|
|
|
|
c = 0 |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
ratio(uint256) := 0(uint256)"]; |
|
|
|
|
c(uint256) := 0(uint256)"]; |
|
|
|
|
3->4; |
|
|
|
|
4[label="Node Type: IF 4 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
dt > 0 |
|
|
|
|
b > 0 |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
TMP_0(bool) = dt > 0 |
|
|
|
|
TMP_0(bool) = b > 0 |
|
|
|
|
CONDITION TMP_0"]; |
|
|
|
|
4->6[label="True"]; |
|
|
|
|
4->5[label="False"]; |
|
|
|
@ -41,26 +41,26 @@ CONDITION TMP_0"]; |
|
|
|
|
6[label="Node Type: NEW VARIABLE 6 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
old_p_o = 1 |
|
|
|
|
old_a = 1 |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
old_p_o(uint256) := 1(uint256)"]; |
|
|
|
|
old_a(uint256) := 1(uint256)"]; |
|
|
|
|
6->7; |
|
|
|
|
7[label="Node Type: NEW VARIABLE 7 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
old_ratio = 2 |
|
|
|
|
old_c = 2 |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
old_ratio(uint256) := 2(uint256)"]; |
|
|
|
|
old_c(uint256) := 2(uint256)"]; |
|
|
|
|
7->8; |
|
|
|
|
8[label="Node Type: IF 8 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
p > old_p_o |
|
|
|
|
p > old_a |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
TMP_1(bool) = p > old_p_o |
|
|
|
|
TMP_1(bool) = p > old_a |
|
|
|
|
CONDITION TMP_1"]; |
|
|
|
|
8->10[label="True"]; |
|
|
|
|
8->15[label="False"]; |
|
|
|
@ -70,23 +70,23 @@ CONDITION TMP_1"]; |
|
|
|
|
10[label="Node Type: EXPRESSION 10 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
ratio = unsafe_div()(old_p_o * 10 ** 18,p) |
|
|
|
|
c = unsafe_div()(old_a * 10 ** 18,p) |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
TMP_2(uint256) = 10 (c)** 18 |
|
|
|
|
TMP_3(uint256) = old_p_o (c)* TMP_2 |
|
|
|
|
TMP_3(uint256) = old_a (c)* TMP_2 |
|
|
|
|
TMP_4(None) = SOLIDITY_CALL unsafe_div()(TMP_3,p) |
|
|
|
|
ratio(uint256) := TMP_4(None)"]; |
|
|
|
|
c(uint256) := TMP_4(None)"]; |
|
|
|
|
10->11; |
|
|
|
|
11[label="Node Type: IF 11 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
ratio < 10 ** 36 / 1 |
|
|
|
|
c < 10 ** 36 / 1 |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
TMP_5(uint256) = 10 (c)** 36 |
|
|
|
|
TMP_6(uint256) = TMP_5 (c)/ 1 |
|
|
|
|
TMP_7(bool) = ratio < TMP_6 |
|
|
|
|
TMP_7(bool) = c < TMP_6 |
|
|
|
|
CONDITION TMP_7"]; |
|
|
|
|
11->13[label="True"]; |
|
|
|
|
11->12[label="False"]; |
|
|
|
@ -96,44 +96,44 @@ CONDITION TMP_7"]; |
|
|
|
|
13[label="Node Type: EXPRESSION 13 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
p_new = unsafe_div()(old_p_o * 1,10 ** 18) |
|
|
|
|
a = unsafe_div()(old_a * 1,10 ** 18) |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
TMP_8(uint256) = old_p_o (c)* 1 |
|
|
|
|
TMP_8(uint256) = old_a (c)* 1 |
|
|
|
|
TMP_9(uint256) = 10 (c)** 18 |
|
|
|
|
TMP_10(None) = SOLIDITY_CALL unsafe_div()(TMP_8,TMP_9) |
|
|
|
|
p_new(uint256) := TMP_10(None)"]; |
|
|
|
|
a(uint256) := TMP_10(None)"]; |
|
|
|
|
13->14; |
|
|
|
|
14[label="Node Type: EXPRESSION 14 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
ratio = 10 ** 36 / 1 |
|
|
|
|
c = 10 ** 36 / 1 |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
TMP_11(uint256) = 10 (c)** 36 |
|
|
|
|
TMP_12(uint256) = TMP_11 (c)/ 1 |
|
|
|
|
ratio(uint256) := TMP_12(uint256)"]; |
|
|
|
|
c(uint256) := TMP_12(uint256)"]; |
|
|
|
|
14->12; |
|
|
|
|
15[label="Node Type: EXPRESSION 15 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
ratio = unsafe_div()(p * 10 ** 18,old_p_o) |
|
|
|
|
c = unsafe_div()(p * 10 ** 18,old_a) |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
TMP_13(uint256) = 10 (c)** 18 |
|
|
|
|
TMP_14(uint256) = p (c)* TMP_13 |
|
|
|
|
TMP_15(None) = SOLIDITY_CALL unsafe_div()(TMP_14,old_p_o) |
|
|
|
|
ratio(uint256) := TMP_15(None)"]; |
|
|
|
|
TMP_15(None) = SOLIDITY_CALL unsafe_div()(TMP_14,old_a) |
|
|
|
|
c(uint256) := TMP_15(None)"]; |
|
|
|
|
15->16; |
|
|
|
|
16[label="Node Type: IF 16 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
ratio < 10 ** 36 / 1 |
|
|
|
|
c < 10 ** 36 / 1 |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
TMP_16(uint256) = 10 (c)** 36 |
|
|
|
|
TMP_17(uint256) = TMP_16 (c)/ 1 |
|
|
|
|
TMP_18(bool) = ratio < TMP_17 |
|
|
|
|
TMP_18(bool) = c < TMP_17 |
|
|
|
|
CONDITION TMP_18"]; |
|
|
|
|
16->18[label="True"]; |
|
|
|
|
16->17[label="False"]; |
|
|
|
@ -143,30 +143,30 @@ CONDITION TMP_18"]; |
|
|
|
|
18[label="Node Type: EXPRESSION 18 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
p_new = unsafe_div()(old_p_o * 10 ** 18,1) |
|
|
|
|
a = unsafe_div()(old_a * 10 ** 18,1) |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
TMP_19(uint256) = 10 (c)** 18 |
|
|
|
|
TMP_20(uint256) = old_p_o (c)* TMP_19 |
|
|
|
|
TMP_20(uint256) = old_a (c)* TMP_19 |
|
|
|
|
TMP_21(None) = SOLIDITY_CALL unsafe_div()(TMP_20,1) |
|
|
|
|
p_new(uint256) := TMP_21(None)"]; |
|
|
|
|
a(uint256) := TMP_21(None)"]; |
|
|
|
|
18->19; |
|
|
|
|
19[label="Node Type: EXPRESSION 19 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
ratio = 10 ** 36 / 1 |
|
|
|
|
c = 10 ** 36 / 1 |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
TMP_22(uint256) = 10 (c)** 36 |
|
|
|
|
TMP_23(uint256) = TMP_22 (c)/ 1 |
|
|
|
|
ratio(uint256) := TMP_23(uint256)"]; |
|
|
|
|
c(uint256) := TMP_23(uint256)"]; |
|
|
|
|
19->17; |
|
|
|
|
20[label="Node Type: EXPRESSION 20 |
|
|
|
|
|
|
|
|
|
EXPRESSION: |
|
|
|
|
ratio = 1 |
|
|
|
|
c = 1 |
|
|
|
|
|
|
|
|
|
IRs: |
|
|
|
|
ratio(uint256) := 1(uint256)"]; |
|
|
|
|
c(uint256) := 1(uint256)"]; |
|
|
|
|
20->5; |
|
|
|
|
} |