contract name: Utils
Utils_types.txt
"Utils_types.txt" opened successfully.
[*] Utils run
State_var: ROUTER
Finding type for ROUTER...
[*]Type fetched successfully
State_var: one
Finding type for one...
[*]Type fetched successfully
State_var: USDV
Finding type for USDV...
[*]Type fetched successfully
State_var: VADER
Finding type for VADER...
[*]Type fetched successfully
State_var: FACTORY
Finding type for FACTORY...
[*]Type fetched successfully
State_var: _year
Finding type for _year...
[*]Type fetched successfully
State_var: one
State_var: POOLS
Finding type for POOLS...
[*]Type fetched successfully
State_var: POOLS
State_var: ROUTER
State_var: ROUTER
State_var: inited
Finding type for inited...
[*]Type fetched successfully
State_var: POOLS
State_var: POOLS
State_var: ROUTER
State_var: POOLS
State_var: POOLS
State_var: ROUTER
State_var: _10k
Finding type for _10k...
[*]Type fetched successfully
State_var: one
State_var: FACTORY
State_var: POOLS
State_var: POOLS
State_var: POOLS
State_var: USDV
State_var: VADER
State_var: POOLS
State_var: ROUTER
State_var: VADER
Reading Function: constructor
Function name: constructor
Function Visibility: public
typecheckig node...
Reading Function: init
Function name: init
Function Visibility: public
Finding type for _vader...
[*]Type fetched successfully
Finding type for _usdv...
[*]Type fetched successfully
Finding type for _router...
[*]Type fetched successfully
Finding type for _pools...
[*]Type fetched successfully
Finding type for _factory...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [2]
    den: [-1]
Param: 2
    num: [-1]
    den: [-1]
Param: 3
    num: [-1]
    den: [-1]
Param: 4
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_0(bool) = inited == False
checking tmp_0
Temp variable: tmp_0
Function name: init
checking tmp_0
[i]Type for TMP_0
Num:
Den:
Norm:
1
done.
TMP_1(None) = SOLIDITY_CALL require(bool,string)(TMP_0,inited)
checking tmp_1
Temp variable: tmp_1
Function name: init
checking tmp_1
[i]Type for TMP_1
Num:
Den:
Norm:
1
done.
typecheckig node...
inited(bool) := True(bool)
checking inited
State variable: inited
Function name: init
checking inited
Constatn varible: true
[i]Type for inited
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
VADER(address) := _vader(address)
checking vader
State variable: vader
Function name: init
checking vader
[i]Type for VADER
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
USDV(address) := _usdv(address)
checking usdv
State variable: usdv
Function name: init
checking usdv
[i]Type for USDV
Num:
2
Den:
-1
Norm:
1
done.
typecheckig node...
ROUTER(address) := _router(address)
checking router
State variable: router
Function name: init
checking router
[i]Type for ROUTER
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
POOLS(address) := _pools(address)
checking pools
State variable: pools
Function name: init
checking pools
[i]Type for POOLS
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
FACTORY(address) := _factory(address)
checking factory
State variable: factory
Function name: init
checking factory
[i]Type for FACTORY
Num:
-1
Den:
-1
Norm:
1
done.
Reading Function: getFeeOnTransfer
Function name: getFeeOnTransfer
Function Visibility: external
Finding type for totalSupply...
[*]Type fetched successfully
Finding type for maxSupply...
[*]Type fetched successfully
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_2(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(totalSupply,maxSupply,100)
Internal call...
calcShare
totalSupply
maxSupply
100
Function: calcShare
checking tmp_2
Temp variable: tmp_2
Function name: getFeeOnTransfer
checking tmp_2
Constatn varible: 100
Internal cal param_cache
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
Param: 2
    num: [-1]
    den: []
added
Function name: calcShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
[i]Type for TMP_169
Num:
-1
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
[i]Type for part
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
-1
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
[i]Type for TMP_171
Num:
-1
Den:
-1
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
[i]Type for TMP_172
Num:
-1
Den:
-1
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
[i]Type for share
Num:
-1
Den:
-1
Norm:
1
done.
Checking return value
[i]Type for TMP_2
Num:
-1
Den:
-1
Norm:
1
done.
RETURN TMP_2
Return...
Reading Function: assetChecks
Function name: assetChecks
Function Visibility: external
Finding type for collateralAsset...
[*]Type fetched successfully
Finding type for debtAsset...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_3(bool) = collateralAsset == VADER
checking tmp_3
Temp variable: tmp_3
Function name: assetChecks
checking tmp_3
[i]Type for TMP_3
Num:
Den:
Norm:
1
done.
CONDITION TMP_3
Condition...
Conidtion: 
TMP_3
TMP_3
typecheckig node...
TMP_7(bool) = collateralAsset == USDV
checking tmp_7
Temp variable: tmp_7
Function name: assetChecks
checking tmp_7
[i]Type for TMP_7
Num:
Den:
Norm:
1
done.
CONDITION TMP_7
Condition...
Conidtion: 
TMP_7
TMP_7
typecheckig node...
TMP_4 = CONVERT POOLS to iPOOLS
checking tmp_4
Temp variable: tmp_4
Function name: assetChecks
checking tmp_4
[i]Type for TMP_4
Num:
Den:
Norm:
1
done.
TMP_5(bool) = HIGH_LEVEL_CALL, dest:TMP_4(iPOOLS), function:isAnchor, arguments:['debtAsset']  
High Level Call: isanchor
checking tmp_5
Temp variable: tmp_5
Function name: assetChecks
checking tmp_5
High Call: isAnchor
TMP_5
TMP_5
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_5
Num:
-1
Den:
-1
Norm:
1
done.
TMP_6(None) = SOLIDITY_CALL require(bool,string)(TMP_5,Bad Combo)
checking tmp_6
Temp variable: tmp_6
Function name: assetChecks
checking tmp_6
[i]Type for TMP_6
Num:
Den:
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_11 = CONVERT POOLS to iPOOLS
checking tmp_11
Temp variable: tmp_11
Function name: assetChecks
checking tmp_11
[i]Type for TMP_11
Num:
Den:
Norm:
1
done.
TMP_12(bool) = HIGH_LEVEL_CALL, dest:TMP_11(iPOOLS), function:isSynth, arguments:['collateralAsset']  
High Level Call: issynth
checking tmp_12
Temp variable: tmp_12
Function name: assetChecks
checking tmp_12
High Call: isSynth
TMP_12
TMP_12
Finding type for hlc_1...
[*]Type fetched successfully
[i]Type for TMP_12
Num:
-1
Den:
-1
Norm:
1
done.
TMP_13 = CONVERT POOLS to iPOOLS
checking tmp_13
Temp variable: tmp_13
Function name: assetChecks
checking tmp_13
[i]Type for TMP_13
Num:
Den:
Norm:
1
done.
TMP_14 = CONVERT collateralAsset to iSYNTH
checking tmp_14
Temp variable: tmp_14
Function name: assetChecks
checking tmp_14
[i]Type for TMP_14
Num:
Den:
Norm:
1
done.
TMP_15(address) = HIGH_LEVEL_CALL, dest:TMP_14(iSYNTH), function:TOKEN, arguments:[]  
High Level Call: token
checking tmp_15
Temp variable: tmp_15
Function name: assetChecks
checking tmp_15
High Call: TOKEN
TMP_15
TMP_15
Finding type for hlc_2...
[*]Type fetched successfully
[i]Type for TMP_15
Num:
-1
Den:
-1
Norm:
1
done.
TMP_16(bool) = HIGH_LEVEL_CALL, dest:TMP_13(iPOOLS), function:isAnchor, arguments:['TMP_15']  
High Level Call: isanchor
checking tmp_16
Temp variable: tmp_16
Function name: assetChecks
checking tmp_16
High Call: isAnchor
TMP_16
TMP_16
Finding type for hlc_3...
[*]Type fetched successfully
[i]Type for TMP_16
Num:
-1
Den:
-1
Norm:
1
done.
TMP_17(bool) = TMP_12 && TMP_16
checking tmp_17
Temp variable: tmp_17
Function name: assetChecks
checking tmp_17
[i]Type for TMP_17
Num:
Den:
Norm:
1
done.
CONDITION TMP_17
Condition...
Conidtion: 
TMP_17
TMP_17
typecheckig node...
TMP_8 = CONVERT POOLS to iPOOLS
checking tmp_8
Temp variable: tmp_8
Function name: assetChecks
checking tmp_8
[i]Type for TMP_8
Num:
Den:
Norm:
1
done.
TMP_9(bool) = HIGH_LEVEL_CALL, dest:TMP_8(iPOOLS), function:isAsset, arguments:['debtAsset']  
High Level Call: isasset
checking tmp_9
Temp variable: tmp_9
Function name: assetChecks
checking tmp_9
High Call: isAsset
TMP_9
TMP_9
Finding type for hlc_4...
[*]Type fetched successfully
[i]Type for TMP_9
Num:
-1
Den:
-1
Norm:
1
done.
TMP_10(None) = SOLIDITY_CALL require(bool,string)(TMP_9,Bad Combo)
checking tmp_10
Temp variable: tmp_10
Function name: assetChecks
checking tmp_10
[i]Type for TMP_10
Num:
Den:
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_21 = CONVERT POOLS to iPOOLS
checking tmp_21
Temp variable: tmp_21
Function name: assetChecks
checking tmp_21
[i]Type for TMP_21
Num:
Den:
Norm:
1
done.
TMP_22(bool) = HIGH_LEVEL_CALL, dest:TMP_21(iPOOLS), function:isSynth, arguments:['collateralAsset']  
High Level Call: issynth
checking tmp_22
Temp variable: tmp_22
Function name: assetChecks
checking tmp_22
High Call: isSynth
TMP_22
TMP_22
Finding type for hlc_5...
[*]Type fetched successfully
[i]Type for TMP_22
Num:
-1
Den:
-1
Norm:
1
done.
TMP_23 = CONVERT POOLS to iPOOLS
checking tmp_23
Temp variable: tmp_23
Function name: assetChecks
checking tmp_23
[i]Type for TMP_23
Num:
Den:
Norm:
1
done.
TMP_24 = CONVERT collateralAsset to iSYNTH
checking tmp_24
Temp variable: tmp_24
Function name: assetChecks
checking tmp_24
[i]Type for TMP_24
Num:
Den:
Norm:
1
done.
TMP_25(address) = HIGH_LEVEL_CALL, dest:TMP_24(iSYNTH), function:TOKEN, arguments:[]  
High Level Call: token
checking tmp_25
Temp variable: tmp_25
Function name: assetChecks
checking tmp_25
High Call: TOKEN
TMP_25
TMP_25
Finding type for hlc_6...
[*]Type fetched successfully
[i]Type for TMP_25
Num:
-1
Den:
-1
Norm:
1
done.
TMP_26(bool) = HIGH_LEVEL_CALL, dest:TMP_23(iPOOLS), function:isAsset, arguments:['TMP_25']  
High Level Call: isasset
checking tmp_26
Temp variable: tmp_26
Function name: assetChecks
checking tmp_26
High Call: isAsset
TMP_26
TMP_26
Finding type for hlc_7...
[*]Type fetched successfully
[i]Type for TMP_26
Num:
-1
Den:
-1
Norm:
1
done.
TMP_27(bool) = TMP_22 && TMP_26
checking tmp_27
Temp variable: tmp_27
Function name: assetChecks
checking tmp_27
[i]Type for TMP_27
Num:
Den:
Norm:
1
done.
CONDITION TMP_27
Condition...
Conidtion: 
TMP_27
TMP_27
typecheckig node...
TMP_18 = CONVERT POOLS to iPOOLS
checking tmp_18
Temp variable: tmp_18
Function name: assetChecks
checking tmp_18
[i]Type for TMP_18
Num:
Den:
Norm:
1
done.
TMP_19(bool) = HIGH_LEVEL_CALL, dest:TMP_18(iPOOLS), function:isAnchor, arguments:['debtAsset']  
High Level Call: isanchor
checking tmp_19
Temp variable: tmp_19
Function name: assetChecks
checking tmp_19
High Call: isAnchor
TMP_19
TMP_19
Finding type for hlc_8...
[*]Type fetched successfully
[i]Type for TMP_19
Num:
-1
Den:
-1
Norm:
1
done.
TMP_20(None) = SOLIDITY_CALL require(bool,string)(TMP_19,Bad Combo)
checking tmp_20
Temp variable: tmp_20
Function name: assetChecks
checking tmp_20
[i]Type for TMP_20
Num:
Den:
Norm:
1
done.
typecheckig node...
typecheckig node...
typecheckig node...
TMP_28 = CONVERT POOLS to iPOOLS
checking tmp_28
Temp variable: tmp_28
Function name: assetChecks
checking tmp_28
[i]Type for TMP_28
Num:
Den:
Norm:
1
done.
TMP_29(bool) = HIGH_LEVEL_CALL, dest:TMP_28(iPOOLS), function:isAsset, arguments:['debtAsset']  
High Level Call: isasset
checking tmp_29
Temp variable: tmp_29
Function name: assetChecks
checking tmp_29
High Call: isAsset
TMP_29
TMP_29
Finding type for hlc_9...
[*]Type fetched successfully
[i]Type for TMP_29
Num:
-1
Den:
-1
Norm:
1
done.
TMP_30(None) = SOLIDITY_CALL require(bool,string)(TMP_29,Bad Combo)
checking tmp_30
Temp variable: tmp_30
Function name: assetChecks
checking tmp_30
[i]Type for TMP_30
Num:
Den:
Norm:
1
done.
Reading Function: isBase
Function name: isBase
Function Visibility: public
Finding type for token...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_31(bool) = token == VADER
checking tmp_31
Temp variable: tmp_31
Function name: isBase
checking tmp_31
[i]Type for TMP_31
Num:
Den:
Norm:
1
done.
TMP_32(bool) = token == USDV
checking tmp_32
Temp variable: tmp_32
Function name: isBase
checking tmp_32
[i]Type for TMP_32
Num:
Den:
Norm:
1
done.
TMP_33(bool) = TMP_31 || TMP_32
checking tmp_33
Temp variable: tmp_33
Function name: isBase
checking tmp_33
[i]Type for TMP_33
Num:
Den:
Norm:
1
done.
CONDITION TMP_33
Condition...
Conidtion: 
TMP_33
TMP_33
typecheckig node...
RETURN True
Return...
typecheckig node...
Reading Function: isPool
Function name: isPool
Function Visibility: public
Finding type for token...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_34 = CONVERT POOLS to iPOOLS
checking tmp_34
Temp variable: tmp_34
Function name: isPool
checking tmp_34
[i]Type for TMP_34
Num:
Den:
Norm:
1
done.
TMP_35(bool) = HIGH_LEVEL_CALL, dest:TMP_34(iPOOLS), function:isAnchor, arguments:['token']  
High Level Call: isanchor
checking tmp_35
Temp variable: tmp_35
Function name: isPool
checking tmp_35
High Call: isAnchor
TMP_35
TMP_35
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_35
Num:
-1
Den:
-1
Norm:
1
done.
TMP_36 = CONVERT POOLS to iPOOLS
checking tmp_36
Temp variable: tmp_36
Function name: isPool
checking tmp_36
[i]Type for TMP_36
Num:
Den:
Norm:
1
done.
TMP_37(bool) = HIGH_LEVEL_CALL, dest:TMP_36(iPOOLS), function:isAsset, arguments:['token']  
High Level Call: isasset
checking tmp_37
Temp variable: tmp_37
Function name: isPool
checking tmp_37
High Call: isAsset
TMP_37
TMP_37
Finding type for hlc_1...
[*]Type fetched successfully
[i]Type for TMP_37
Num:
-1
Den:
-1
Norm:
1
done.
TMP_38(bool) = TMP_35 || TMP_37
checking tmp_38
Temp variable: tmp_38
Function name: isPool
checking tmp_38
[i]Type for TMP_38
Num:
Den:
Norm:
1
done.
CONDITION TMP_38
Condition...
Conidtion: 
TMP_38
TMP_38
typecheckig node...
pool(bool) := True(bool)
checking pool
Local variable: pool
Function name: isPool
checking pool
Constatn varible: true
[i]Type for pool
Num:
-1
Den:
Norm:
1
done.
typecheckig node...
Reading Function: calcValueInBase
Function name: calcValueInBase
Function Visibility: public
Finding type for token...
[*]Type fetched successfully
Finding type for amount...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
typecheckig node...
typecheckig node...
TMP_39 = CONVERT POOLS to iPOOLS
checking tmp_39
Temp variable: tmp_39
Function name: calcValueInBase
checking tmp_39
[i]Type for TMP_39
Num:
Den:
Norm:
1
done.
TUPLE_0(uint256,uint256) = HIGH_LEVEL_CALL, dest:TMP_39(iPOOLS), function:getPoolAmounts, arguments:['token']  
High Level Call: getpoolamounts
checking tuple_0
TUple variable: tuple_0
Function name: calcValueInBase
checking tuple_0
High Call: getPoolAmounts
TUPLE_0
TUPLE_0
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TUPLE_0
Num:
1
Den:
-1
Norm:
1
done.
_baseAmt(uint256)= UNPACK TUPLE_0 index: 0 
checking _baseamt
Local variable: _baseamt
Function name: calcValueInBase
checking _baseamt
Reading tuple TUPLE_0 index 0
Finding type for _baseAmt...
[*]Type fetched successfully
[i]Type for _baseAmt
Num:
1
Den:
-1
Norm:
1
done.
_tokenAmt(uint256)= UNPACK TUPLE_0 index: 1 
checking _tokenamt
Local variable: _tokenamt
Function name: calcValueInBase
checking _tokenamt
Reading tuple TUPLE_0 index 1
Finding type for _tokenAmt...
[*]Type fetched successfully
[i]Type for _tokenAmt
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_40(bool) = _baseAmt > 0
checking tmp_40
Temp variable: tmp_40
Function name: calcValueInBase
checking tmp_40
Constatn varible: 0
testing gt...
[i]Type for TMP_40
Num:
-1
Den:
Norm:
1
done.
TMP_41(bool) = _tokenAmt > 0
checking tmp_41
Temp variable: tmp_41
Function name: calcValueInBase
checking tmp_41
Constatn varible: 0
testing gt...
[i]Type for TMP_41
Num:
-1
Den:
Norm:
1
done.
TMP_42(bool) = TMP_40 && TMP_41
checking tmp_42
Temp variable: tmp_42
Function name: calcValueInBase
checking tmp_42
[i]Type for TMP_42
Num:
Den:
Norm:
1
done.
CONDITION TMP_42
Condition...
Conidtion: 
TMP_42
TMP_42
typecheckig node...
typecheckig node...
TMP_43(uint256) = amount (c)* _baseAmt
checking tmp_43
Temp variable: tmp_43
Function name: calcValueInBase
checking tmp_43
testing mul...
[i]Type for TMP_43
Num:
-1
1
Den:
-1
Norm:
1
done.
TMP_44(uint256) = TMP_43 (c)/ _tokenAmt
checking tmp_44
Temp variable: tmp_44
Function name: calcValueInBase
checking tmp_44
testing mul...
[i]Type for TMP_44
Num:
-1
1
Den:
-1
Norm:
1
done.
RETURN TMP_44
Return...
Reading Function: calcValueInToken
Function name: calcValueInToken
Function Visibility: public
Finding type for token...
[*]Type fetched successfully
Finding type for amount...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
typecheckig node...
typecheckig node...
TMP_45 = CONVERT POOLS to iPOOLS
checking tmp_45
Temp variable: tmp_45
Function name: calcValueInToken
checking tmp_45
[i]Type for TMP_45
Num:
Den:
Norm:
1
done.
TUPLE_1(uint256,uint256) = HIGH_LEVEL_CALL, dest:TMP_45(iPOOLS), function:getPoolAmounts, arguments:['token']  
High Level Call: getpoolamounts
checking tuple_1
TUple variable: tuple_1
Function name: calcValueInToken
checking tuple_1
High Call: getPoolAmounts
TUPLE_1
TUPLE_1
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TUPLE_1
Num:
1
Den:
-1
Norm:
1
done.
_baseAmt(uint256)= UNPACK TUPLE_1 index: 0 
checking _baseamt
Local variable: _baseamt
Function name: calcValueInToken
checking _baseamt
Reading tuple TUPLE_1 index 0
Finding type for _baseAmt...
[*]Type fetched successfully
[i]Type for _baseAmt
Num:
1
Den:
-1
Norm:
1
done.
_tokenAmt(uint256)= UNPACK TUPLE_1 index: 1 
checking _tokenamt
Local variable: _tokenamt
Function name: calcValueInToken
checking _tokenamt
Reading tuple TUPLE_1 index 1
Finding type for _tokenAmt...
[*]Type fetched successfully
[i]Type for _tokenAmt
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_46(bool) = _baseAmt > 0
checking tmp_46
Temp variable: tmp_46
Function name: calcValueInToken
checking tmp_46
Constatn varible: 0
testing gt...
[i]Type for TMP_46
Num:
-1
Den:
Norm:
1
done.
TMP_47(bool) = _tokenAmt > 0
checking tmp_47
Temp variable: tmp_47
Function name: calcValueInToken
checking tmp_47
Constatn varible: 0
testing gt...
[i]Type for TMP_47
Num:
-1
Den:
Norm:
1
done.
TMP_48(bool) = TMP_46 && TMP_47
checking tmp_48
Temp variable: tmp_48
Function name: calcValueInToken
checking tmp_48
[i]Type for TMP_48
Num:
Den:
Norm:
1
done.
CONDITION TMP_48
Condition...
Conidtion: 
TMP_48
TMP_48
typecheckig node...
TMP_49(uint256) = amount (c)* _tokenAmt
checking tmp_49
Temp variable: tmp_49
Function name: calcValueInToken
checking tmp_49
testing mul...
[i]Type for TMP_49
Num:
-1
Den:
-1
Norm:
1
done.
TMP_50(uint256) = TMP_49 (c)/ _baseAmt
checking tmp_50
Temp variable: tmp_50
Function name: calcValueInToken
checking tmp_50
testing mul...
[i]Type for TMP_50
Num:
-1
Den:
-1
Norm:
1
done.
RETURN TMP_50
Return...
typecheckig node...
Reading Function: calcValueOfTokenInToken
Function name: calcValueOfTokenInToken
Function Visibility: public
Finding type for token1...
[*]Type fetched successfully
Finding type for amount...
[*]Type fetched successfully
Finding type for token2...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_51(uint256) = INTERNAL_CALL, Utils.calcValueInBase(address,uint256)(token1,amount)
Internal call...
calcValueInBase
token1
amount
Function: calcValueInBase
checking tmp_51
Temp variable: tmp_51
Function name: calcValueOfTokenInToken
checking tmp_51
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
[i]Type for TMP_51
Num:
Den:
Norm:
1
done.
TMP_52(uint256) = INTERNAL_CALL, Utils.calcValueInToken(address,uint256)(token2,TMP_51)
Internal call...
calcValueInToken
token2
TMP_51
Function: calcValueInToken
checking tmp_52
Temp variable: tmp_52
Function name: calcValueOfTokenInToken
checking tmp_52
[i]Type for TMP_52
Num:
Den:
Norm:
1
done.
RETURN TMP_52
Return...
[x]node added back
Reading Function: calcSwapValueInBase
Function name: calcSwapValueInBase
Function Visibility: public
Finding type for token...
[*]Type fetched successfully
Finding type for amount...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
typecheckig node...
typecheckig node...
TMP_53 = CONVERT POOLS to iPOOLS
checking tmp_53
Temp variable: tmp_53
Function name: calcSwapValueInBase
checking tmp_53
[i]Type for TMP_53
Num:
Den:
Norm:
1
done.
TUPLE_2(uint256,uint256) = HIGH_LEVEL_CALL, dest:TMP_53(iPOOLS), function:getPoolAmounts, arguments:['token']  
High Level Call: getpoolamounts
checking tuple_2
TUple variable: tuple_2
Function name: calcSwapValueInBase
checking tuple_2
High Call: getPoolAmounts
TUPLE_2
TUPLE_2
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TUPLE_2
Num:
-1
Den:
-1
Norm:
1
done.
_baseAmt(uint256)= UNPACK TUPLE_2 index: 0 
checking _baseamt
Local variable: _baseamt
Function name: calcSwapValueInBase
checking _baseamt
Reading tuple TUPLE_2 index 0
Finding type for _baseAmt...
[*]Type fetched successfully
[i]Type for _baseAmt
Num:
-1
Den:
-1
Norm:
1
done.
_tokenAmt(uint256)= UNPACK TUPLE_2 index: 1 
checking _tokenamt
Local variable: _tokenamt
Function name: calcSwapValueInBase
checking _tokenamt
Reading tuple TUPLE_2 index 1
Finding type for _tokenAmt...
[*]Type fetched successfully
[i]Type for _tokenAmt
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_54(uint256) = INTERNAL_CALL, Utils.calcSwapOutput(uint256,uint256,uint256)(amount,_tokenAmt,_baseAmt)
Internal call...
calcSwapOutput
amount
_tokenAmt
_baseAmt
Function: calcSwapOutput
checking tmp_54
Temp variable: tmp_54
Function name: calcSwapValueInBase
checking tmp_54
Internal cal param_cache
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [-1]
    den: [-1]
added
Function name: calcSwapOutput
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_173(uint256) = x (c)* X
checking tmp_173
Temp variable: tmp_173
Function name: calcSwapOutput
checking tmp_173
testing mul...
[i]Type for TMP_173
Num:
-1
1
Den:
-1
Norm:
1
done.
TMP_174(uint256) = TMP_173 (c)* Y
checking tmp_174
Temp variable: tmp_174
Function name: calcSwapOutput
checking tmp_174
testing mul...
[i]Type for TMP_174
Num:
-1
1
Den:
-1
Norm:
1
done.
numerator(uint256) := TMP_174(uint256)
checking numerator
Local variable: numerator
Function name: calcSwapOutput
checking numerator
[i]Type for numerator
Num:
-1
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_175(uint256) = x (c)+ X
checking tmp_175
Temp variable: tmp_175
Function name: calcSwapOutput
checking tmp_175
Error with: TMP_175
[i]Type for TMP_175
Num:
-2
Den:
Norm:
1
done.
TMP_176(uint256) = x (c)+ X
checking tmp_176
Temp variable: tmp_176
Function name: calcSwapOutput
checking tmp_176
Error with: TMP_176
[i]Type for TMP_176
Num:
-2
Den:
Norm:
1
done.
TMP_177(uint256) = TMP_175 (c)* TMP_176
checking tmp_177
Temp variable: tmp_177
Function name: calcSwapOutput
checking tmp_177
testing mul...
[i]Type for TMP_177
Num:
-2
Den:
Norm:
1
done.
denominator(uint256) := TMP_177(uint256)
checking denominator
Local variable: denominator
Function name: calcSwapOutput
checking denominator
[i]Type for denominator
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_178(uint256) = numerator (c)/ denominator
checking tmp_178
Temp variable: tmp_178
Function name: calcSwapOutput
checking tmp_178
testing mul...
[i]Type for TMP_178
Num:
-1
1
Den:
-1
-2
Norm:
1
done.
RETURN TMP_178
Return...
Checking return value
[i]Type for TMP_54
Num:
Den:
Norm:
1
done.
RETURN TMP_54
Return...
Reading Function: calcSwapValueInToken
Function name: calcSwapValueInToken
Function Visibility: public
Finding type for token...
[*]Type fetched successfully
Finding type for amount...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
typecheckig node...
typecheckig node...
TMP_55 = CONVERT POOLS to iPOOLS
checking tmp_55
Temp variable: tmp_55
Function name: calcSwapValueInToken
checking tmp_55
[i]Type for TMP_55
Num:
Den:
Norm:
1
done.
TUPLE_3(uint256,uint256) = HIGH_LEVEL_CALL, dest:TMP_55(iPOOLS), function:getPoolAmounts, arguments:['token']  
High Level Call: getpoolamounts
checking tuple_3
TUple variable: tuple_3
Function name: calcSwapValueInToken
checking tuple_3
High Call: getPoolAmounts
TUPLE_3
TUPLE_3
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TUPLE_3
Num:
-1
Den:
-1
Norm:
1
done.
_baseAmt(uint256)= UNPACK TUPLE_3 index: 0 
checking _baseamt
Local variable: _baseamt
Function name: calcSwapValueInToken
checking _baseamt
Reading tuple TUPLE_3 index 0
Finding type for _baseAmt...
[*]Type fetched successfully
[i]Type for _baseAmt
Num:
-1
Den:
-1
Norm:
1
done.
_tokenAmt(uint256)= UNPACK TUPLE_3 index: 1 
checking _tokenamt
Local variable: _tokenamt
Function name: calcSwapValueInToken
checking _tokenamt
Reading tuple TUPLE_3 index 1
Finding type for _tokenAmt...
[*]Type fetched successfully
[i]Type for _tokenAmt
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_56(uint256) = INTERNAL_CALL, Utils.calcSwapOutput(uint256,uint256,uint256)(amount,_baseAmt,_tokenAmt)
Internal call...
calcSwapOutput
amount
_baseAmt
_tokenAmt
Function: calcSwapOutput
checking tmp_56
Temp variable: tmp_56
Function name: calcSwapValueInToken
checking tmp_56
Internal cal param_cache
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
added
Function name: calcSwapOutput
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_173(uint256) = x (c)* X
checking tmp_173
Temp variable: tmp_173
Function name: calcSwapOutput
checking tmp_173
testing mul...
Error with: TMP_173
[i]Type for TMP_173
Num:
-2
-1
Den:
-1
Norm:
1
done.
TMP_174(uint256) = TMP_173 (c)* Y
checking tmp_174
Temp variable: tmp_174
Function name: calcSwapOutput
checking tmp_174
testing mul...
Error with: TMP_174
[i]Type for TMP_174
Num:
-2
1
Den:
-1
Norm:
1
done.
numerator(uint256) := TMP_174(uint256)
checking numerator
Local variable: numerator
Function name: calcSwapOutput
checking numerator
Error with: numerator
[i]Type for numerator
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_175(uint256) = x (c)+ X
checking tmp_175
Temp variable: tmp_175
Function name: calcSwapOutput
checking tmp_175
Error with: TMP_175
[i]Type for TMP_175
Num:
-2
Den:
Norm:
1
done.
TMP_176(uint256) = x (c)+ X
checking tmp_176
Temp variable: tmp_176
Function name: calcSwapOutput
checking tmp_176
Error with: TMP_176
[i]Type for TMP_176
Num:
-2
Den:
Norm:
1
done.
TMP_177(uint256) = TMP_175 (c)* TMP_176
checking tmp_177
Temp variable: tmp_177
Function name: calcSwapOutput
checking tmp_177
testing mul...
[i]Type for TMP_177
Num:
-2
Den:
Norm:
1
done.
denominator(uint256) := TMP_177(uint256)
checking denominator
Local variable: denominator
Function name: calcSwapOutput
checking denominator
[i]Type for denominator
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_178(uint256) = numerator (c)/ denominator
checking tmp_178
Temp variable: tmp_178
Function name: calcSwapOutput
checking tmp_178
testing mul...
Error with: TMP_178
[i]Type for TMP_178
Num:
-1
Den:
Norm:
1
done.
RETURN TMP_178
Return...
Checking return value
[i]Type for TMP_56
Num:
Den:
Norm:
1
done.
RETURN TMP_56
Return...
Reading Function: requirePriceBounds
Function name: requirePriceBounds
Function Visibility: external
Finding type for token...
[*]Type fetched successfully
Finding type for bound...
[*]Type fetched successfully
Finding type for inside...
[*]Type fetched successfully
Finding type for targetPrice...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
Param: 2
    num: [-1]
    den: [-1]
Param: 3
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_57(uint256) = INTERNAL_CALL, Utils.calcValueInBase(address,uint256)(token,one)
Internal call...
calcValueInBase
token
one
Function: calcValueInBase
checking tmp_57
Temp variable: tmp_57
Function name: requirePriceBounds
checking tmp_57
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
[i]Type for TMP_57
Num:
Den:
Norm:
1
done.
_testingPrice(uint256) := TMP_57(uint256)
checking _testingprice
Local variable: _testingprice
Function name: requirePriceBounds
checking _testingprice
[i]Type for _testingPrice
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_58(uint256) = _10k (c)- bound
checking tmp_58
Temp variable: tmp_58
Function name: requirePriceBounds
checking tmp_58
L
R
[i]Type for TMP_58
Num:
-1
Den:
-1
Norm:
1
done.
TMP_59(uint256) = INTERNAL_CALL, Utils.calcPart(uint256,uint256)(TMP_58,targetPrice)
Internal call...
calcPart
TMP_58
targetPrice
Function: calcPart
checking tmp_59
Temp variable: tmp_59
Function name: requirePriceBounds
checking tmp_59
Internal cal param_cache
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
added
Function name: calcPart
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_164(bool) = bp <= 10000
checking tmp_164
Temp variable: tmp_164
Function name: calcPart
checking tmp_164
Constatn varible: 10000
testing lt...
[i]Type for TMP_164
Num:
-1
Den:
Norm:
1
done.
TMP_165(bool) = bp >= 0
checking tmp_165
Temp variable: tmp_165
Function name: calcPart
checking tmp_165
Constatn varible: 0
testing gt...
[i]Type for TMP_165
Num:
-1
Den:
Norm:
1
done.
TMP_166(bool) = TMP_164 && TMP_165
checking tmp_166
Temp variable: tmp_166
Function name: calcPart
checking tmp_166
[i]Type for TMP_166
Num:
Den:
Norm:
1
done.
TMP_167(None) = SOLIDITY_CALL require(bool,string)(TMP_166,Must be correct BP)
checking tmp_167
Temp variable: tmp_167
Function name: calcPart
checking tmp_167
[i]Type for TMP_167
Num:
Den:
Norm:
1
done.
typecheckig node...
TMP_168(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(bp,10000,total)
Internal call...
calcShare
bp
10000
total
Function: calcShare
checking tmp_168
Temp variable: tmp_168
Function name: calcPart
checking tmp_168
Constatn varible: 10000
Internal cal param_cache
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [-1]
    den: []
Param: 2
    num: [-1]
    den: [-1]
added
Function name: calcShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
[i]Type for TMP_169
Num:
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
[i]Type for part
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
-1
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
[x]node added back
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
[i]Type for TMP_171
Num:
-1
Den:
-1
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
[i]Type for TMP_172
Num:
-1
Den:
-1
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
[i]Type for share
Num:
-1
Den:
-1
Norm:
1
done.
Checking return value
[i]Type for TMP_168
Num:
-1
Den:
-1
Norm:
1
done.
RETURN TMP_168
Return...
[x]node added back
Checking return value
[i]Type for TMP_59
Num:
Den:
Norm:
1
done.
_lower(uint256) := TMP_59(uint256)
checking _lower
Local variable: _lower
Function name: requirePriceBounds
checking _lower
[i]Type for _lower
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_60(uint256) = _10k (c)+ bound
checking tmp_60
Temp variable: tmp_60
Function name: requirePriceBounds
checking tmp_60
[i]Type for TMP_60
Num:
-1
Den:
-1
Norm:
1
done.
TMP_61(uint256) = targetPrice (c)* TMP_60
checking tmp_61
Temp variable: tmp_61
Function name: requirePriceBounds
checking tmp_61
testing mul...
[i]Type for TMP_61
Num:
-1
Den:
-1
Norm:
1
done.
TMP_62(uint256) = TMP_61 (c)/ _10k
checking tmp_62
Temp variable: tmp_62
Function name: requirePriceBounds
checking tmp_62
testing mul...
[i]Type for TMP_62
Num:
-1
Den:
-1
Norm:
1
done.
_upper(uint256) := TMP_62(uint256)
checking _upper
Local variable: _upper
Function name: requirePriceBounds
checking _upper
[i]Type for _upper
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
CONDITION inside
Condition...
Conidtion: 
inside
inside
typecheckig node...
TMP_63(bool) = _testingPrice >= _lower
checking tmp_63
Temp variable: tmp_63
Function name: requirePriceBounds
checking tmp_63
testing gt...
[i]Type for TMP_63
Num:
Den:
Norm:
1
done.
TMP_64(bool) = _testingPrice <= _upper
checking tmp_64
Temp variable: tmp_64
Function name: requirePriceBounds
checking tmp_64
testing lt...
[i]Type for TMP_64
Num:
Den:
Norm:
1
done.
TMP_65(bool) = TMP_63 && TMP_64
checking tmp_65
Temp variable: tmp_65
Function name: requirePriceBounds
checking tmp_65
[i]Type for TMP_65
Num:
Den:
Norm:
1
done.
TMP_66(None) = SOLIDITY_CALL require(bool,string)(TMP_65,Not inside)
checking tmp_66
Temp variable: tmp_66
Function name: requirePriceBounds
checking tmp_66
[i]Type for TMP_66
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
typecheckig node...
TMP_67(bool) = _testingPrice <= _lower
checking tmp_67
Temp variable: tmp_67
Function name: requirePriceBounds
checking tmp_67
testing lt...
[i]Type for TMP_67
Num:
Den:
Norm:
1
done.
TMP_68(bool) = _testingPrice >= _upper
checking tmp_68
Temp variable: tmp_68
Function name: requirePriceBounds
checking tmp_68
testing gt...
[i]Type for TMP_68
Num:
Den:
Norm:
1
done.
TMP_69(bool) = TMP_67 || TMP_68
checking tmp_69
Temp variable: tmp_69
Function name: requirePriceBounds
checking tmp_69
[i]Type for TMP_69
Num:
Den:
Norm:
1
done.
TMP_70(None) = SOLIDITY_CALL require(bool,string)(TMP_69,Not outside)
checking tmp_70
Temp variable: tmp_70
Function name: requirePriceBounds
checking tmp_70
[i]Type for TMP_70
Num:
Den:
Norm:
1
done.
[x]node added back
Reading Function: getRewardShare
Function name: getRewardShare
Function Visibility: external
Finding type for token...
[*]Type fetched successfully
Finding type for rewardReductionFactor...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_71 = CONVERT VADER to iVADER
checking tmp_71
Temp variable: tmp_71
Function name: getRewardShare
checking tmp_71
[i]Type for TMP_71
Num:
Den:
Norm:
1
done.
TMP_72(bool) = HIGH_LEVEL_CALL, dest:TMP_71(iVADER), function:emitting, arguments:[]  
High Level Call: emitting
checking tmp_72
Temp variable: tmp_72
Function name: getRewardShare
checking tmp_72
High Call: emitting
TMP_72
TMP_72
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_72
Num:
-1
Den:
-1
Norm:
1
done.
TMP_73 = CONVERT ROUTER to iROUTER
checking tmp_73
Temp variable: tmp_73
Function name: getRewardShare
checking tmp_73
[i]Type for TMP_73
Num:
Den:
Norm:
1
done.
TMP_74(bool) = HIGH_LEVEL_CALL, dest:TMP_73(iROUTER), function:isCurated, arguments:['token']  
High Level Call: iscurated
checking tmp_74
Temp variable: tmp_74
Function name: getRewardShare
checking tmp_74
High Call: isCurated
TMP_74
TMP_74
Finding type for hlc_1...
[*]Type fetched successfully
[i]Type for TMP_74
Num:
-1
Den:
-1
Norm:
1
done.
TMP_75(bool) = TMP_72 && TMP_74
checking tmp_75
Temp variable: tmp_75
Function name: getRewardShare
checking tmp_75
[i]Type for TMP_75
Num:
Den:
Norm:
1
done.
CONDITION TMP_75
Condition...
Conidtion: 
TMP_75
TMP_75
typecheckig node...
typecheckig node...
TMP_76 = CONVERT POOLS to iPOOLS
checking tmp_76
Temp variable: tmp_76
Function name: getRewardShare
checking tmp_76
[i]Type for TMP_76
Num:
Den:
Norm:
1
done.
TMP_77(uint256) = HIGH_LEVEL_CALL, dest:TMP_76(iPOOLS), function:getBaseAmount, arguments:['token']  
High Level Call: getbaseamount
checking tmp_77
Temp variable: tmp_77
Function name: getRewardShare
checking tmp_77
High Call: getBaseAmount
TMP_77
TMP_77
Finding type for hlc_2...
[*]Type fetched successfully
[i]Type for TMP_77
Num:
1
Den:
-1
Norm:
1
done.
_baseAmount(uint256) := TMP_77(uint256)
checking _baseamount
Local variable: _baseamount
Function name: getRewardShare
checking _baseamount
[i]Type for _baseAmount
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_78 = CONVERT POOLS to iPOOLS
checking tmp_78
Temp variable: tmp_78
Function name: getRewardShare
checking tmp_78
[i]Type for TMP_78
Num:
Den:
Norm:
1
done.
TMP_79(bool) = HIGH_LEVEL_CALL, dest:TMP_78(iPOOLS), function:isAsset, arguments:['token']  
High Level Call: isasset
checking tmp_79
Temp variable: tmp_79
Function name: getRewardShare
checking tmp_79
High Call: isAsset
TMP_79
TMP_79
Finding type for hlc_3...
[*]Type fetched successfully
[i]Type for TMP_79
Num:
-1
Den:
-1
Norm:
1
done.
CONDITION TMP_79
Condition...
Conidtion: 
TMP_79
TMP_79
typecheckig node...
TMP_80 = CONVERT POOLS to iPOOLS
checking tmp_80
Temp variable: tmp_80
Function name: getRewardShare
checking tmp_80
[i]Type for TMP_80
Num:
Den:
Norm:
1
done.
TMP_81(uint256) = HIGH_LEVEL_CALL, dest:TMP_80(iPOOLS), function:pooledUSDV, arguments:[]  
High Level Call: pooledusdv
checking tmp_81
Temp variable: tmp_81
Function name: getRewardShare
checking tmp_81
High Call: pooledUSDV
TMP_81
TMP_81
Finding type for hlc_4...
[*]Type fetched successfully
[i]Type for TMP_81
Num:
1
Den:
-1
Norm:
1
done.
TMP_82 = CONVERT ROUTER to iROUTER
checking tmp_82
Temp variable: tmp_82
Function name: getRewardShare
checking tmp_82
[i]Type for TMP_82
Num:
Den:
Norm:
1
done.
TMP_83(uint256) = HIGH_LEVEL_CALL, dest:TMP_82(iROUTER), function:reserveUSDV, arguments:[]  
High Level Call: reserveusdv
checking tmp_83
Temp variable: tmp_83
Function name: getRewardShare
checking tmp_83
High Call: reserveUSDV
TMP_83
TMP_83
Finding type for hlc_5...
[*]Type fetched successfully
[i]Type for TMP_83
Num:
1
Den:
-1
Norm:
1
done.
TMP_84(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(_baseAmount,TMP_81,TMP_83)
Internal call...
calcShare
_baseAmount
TMP_81
TMP_83
Function: calcShare
checking tmp_84
Temp variable: tmp_84
Function name: getRewardShare
checking tmp_84
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
added
Function name: calcShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
[i]Type for TMP_169
Num:
-1
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
[i]Type for part
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
Error with: TMP_171
[i]Type for TMP_171
Num:
-2
1
Den:
-1
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
Error with: TMP_172
[i]Type for TMP_172
Num:
-2
Den:
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
Error with: share
[i]Type for share
Num:
-2
Den:
Norm:
1
done.
Checking return value
[i]Type for TMP_84
Num:
-2
Den:
Norm:
1
done.
_share(uint256) := TMP_84(uint256)
checking _share
Local variable: _share
Function name: getRewardShare
checking _share
[i]Type for _share
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_86 = CONVERT POOLS to iPOOLS
checking tmp_86
Temp variable: tmp_86
Function name: getRewardShare
checking tmp_86
[i]Type for TMP_86
Num:
Den:
Norm:
1
done.
TMP_87(bool) = HIGH_LEVEL_CALL, dest:TMP_86(iPOOLS), function:isAnchor, arguments:['token']  
High Level Call: isanchor
checking tmp_87
Temp variable: tmp_87
Function name: getRewardShare
checking tmp_87
High Call: isAnchor
TMP_87
TMP_87
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_87
Num:
-1
Den:
-1
Norm:
1
done.
CONDITION TMP_87
Condition...
Conidtion: 
TMP_87
TMP_87
typecheckig node...
TMP_85(uint256) = INTERNAL_CALL, Utils.getReducedShare(uint256,uint256)(_share,rewardReductionFactor)
Internal call...
getReducedShare
_share
rewardReductionFactor
Function: getReducedShare
checking tmp_85
Temp variable: tmp_85
Function name: getRewardShare
checking tmp_85
Internal cal param_cache
Param: 0
    num: [-2]
    den: []
Param: 1
    num: [-1]
    den: [-1]
added
Function name: getReducedShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_94(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(1,rewardReductionFactor,amount)
Internal call...
calcShare
1
rewardReductionFactor
amount
Function: calcShare
checking tmp_94
Temp variable: tmp_94
Function name: getReducedShare
checking tmp_94
Constatn varible: 1
Internal cal param_cache
Param: 0
    num: [-1]
    den: []
Param: 1
    num: [-1]
    den: [-1]
Param: 2
    num: [-2]
    den: []
added
Function name: calcShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
[i]Type for TMP_169
Num:
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
Error with: part
[i]Type for part
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
[x]node added back
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
Error with: TMP_171
[i]Type for TMP_171
Num:
-2
Den:
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
[i]Type for TMP_172
Num:
-2
-1
Den:
-1
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
Error with: share
[i]Type for share
Num:
-2
Den:
Norm:
1
done.
Checking return value
[i]Type for TMP_94
Num:
-2
Den:
Norm:
1
done.
RETURN TMP_94
Return...
[x]node added back
Checking return value
[i]Type for TMP_85
Num:
Den:
Norm:
1
done.
rewardShare(uint256) := TMP_85(uint256)
checking rewardshare
Local variable: rewardshare
Function name: getRewardShare
checking rewardshare
[i]Type for rewardShare
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_88 = CONVERT POOLS to iPOOLS
checking tmp_88
Temp variable: tmp_88
Function name: getRewardShare
checking tmp_88
[i]Type for TMP_88
Num:
Den:
Norm:
1
done.
TMP_89(uint256) = HIGH_LEVEL_CALL, dest:TMP_88(iPOOLS), function:pooledVADER, arguments:[]  
High Level Call: pooledvader
checking tmp_89
Temp variable: tmp_89
Function name: getRewardShare
checking tmp_89
High Call: pooledVADER
TMP_89
TMP_89
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_89
Num:
-1
Den:
-1
Norm:
1
done.
TMP_90 = CONVERT ROUTER to iROUTER
checking tmp_90
Temp variable: tmp_90
Function name: getRewardShare
checking tmp_90
[i]Type for TMP_90
Num:
Den:
Norm:
1
done.
TMP_91(uint256) = HIGH_LEVEL_CALL, dest:TMP_90(iROUTER), function:reserveVADER, arguments:[]  
High Level Call: reservevader
checking tmp_91
Temp variable: tmp_91
Function name: getRewardShare
checking tmp_91
High Call: reserveVADER
TMP_91
TMP_91
Finding type for hlc_1...
[*]Type fetched successfully
[i]Type for TMP_91
Num:
-1
Den:
-1
Norm:
1
done.
TMP_92(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(_baseAmount,TMP_89,TMP_91)
Internal call...
calcShare
_baseAmount
TMP_89
TMP_91
Function: calcShare
checking tmp_92
Temp variable: tmp_92
Function name: getRewardShare
checking tmp_92
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
Param: 2
    num: [-1]
    den: [-1]
added
Function name: calcShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
Error with: TMP_169
[i]Type for TMP_169
Num:
-2
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
Error with: part
[i]Type for part
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
-1
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
Error with: TMP_171
[i]Type for TMP_171
Num:
-2
Den:
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
Error with: TMP_172
[i]Type for TMP_172
Num:
-2
-1
Den:
-1
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
Error with: share
[i]Type for share
Num:
-2
Den:
Norm:
1
done.
Checking return value
[i]Type for TMP_92
Num:
-2
Den:
Norm:
1
done.
_share_scope_0(uint256) := TMP_92(uint256)
checking _share_scope_0
Local variable: _share_scope_0
Function name: getRewardShare
checking _share_scope_0
[i]Type for _share_scope_0
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
typecheckig node...
typecheckig node...
TMP_93(uint256) = INTERNAL_CALL, Utils.getReducedShare(uint256,uint256)(_share_scope_0,rewardReductionFactor)
Internal call...
getReducedShare
_share_scope_0
rewardReductionFactor
Function: getReducedShare
checking tmp_93
Temp variable: tmp_93
Function name: getRewardShare
checking tmp_93
Internal cal param_cache
Param: 0
    num: [-2]
    den: []
Param: 1
    num: [-1]
    den: [-1]
[i]Type for TMP_93
Num:
Den:
Norm:
1
done.
rewardShare(uint256) := TMP_93(uint256)
checking rewardshare
Local variable: rewardshare
Function name: getRewardShare
checking rewardshare
[i]Type for rewardShare
Num:
Den:
Norm:
1
done.
[x]node added back
Reading Function: getReducedShare
Function name: getReducedShare
Function Visibility: public
Finding type for amount...
[*]Type fetched successfully
Finding type for rewardReductionFactor...
[*]Type fetched successfully
Param: 0
    num: [-2, -1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_94(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(1,rewardReductionFactor,amount)
Internal call...
calcShare
1
rewardReductionFactor
amount
Function: calcShare
checking tmp_94
Temp variable: tmp_94
Function name: getReducedShare
checking tmp_94
Constatn varible: 1
Internal cal param_cache
Param: 0
    num: []
    den: []
Param: 1
    num: [-1]
    den: [-1]
Param: 2
    num: [-2, -1]
    den: [-1]
added
Function name: calcShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
[i]Type for TMP_169
Num:
-2
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
[x]node added back
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
[i]Type for part
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
-1
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
[x]node added back
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
Error with: TMP_171
[i]Type for TMP_171
Num:
-2
-1
Den:
-1
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
[i]Type for TMP_172
Num:
-2
-1
Den:
-1
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
Error with: share
[i]Type for share
Num:
-2
Den:
Norm:
1
done.
Checking return value
[i]Type for TMP_94
Num:
-2
Den:
Norm:
1
done.
RETURN TMP_94
Return...
[x]node added back
Reading Function: getProtection
Function name: getProtection
Function Visibility: public
Finding type for member...
[*]Type fetched successfully
Finding type for token...
[*]Type fetched successfully
Finding type for basisPoints...
[*]Type fetched successfully
Finding type for timeForFullProtection...
[*]Type fetched successfully
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [-1]
    den: [-1]
Param: 3
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_95(uint256) = INTERNAL_CALL, Utils.getCoverage(address,address)(member,token)
Internal call...
getCoverage
member
token
Function: getCoverage
checking tmp_95
Temp variable: tmp_95
Function name: getProtection
checking tmp_95
Internal cal param_cache
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
added
Function name: getCoverage
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_104 = CONVERT ROUTER to iROUTER
checking tmp_104
Temp variable: tmp_104
Function name: getCoverage
checking tmp_104
[i]Type for TMP_104
Num:
Den:
Norm:
1
done.
TMP_105(uint256) = HIGH_LEVEL_CALL, dest:TMP_104(iROUTER), function:getMemberBaseDeposit, arguments:['member', 'token']  
High Level Call: getmemberbasedeposit
checking tmp_105
Temp variable: tmp_105
Function name: getCoverage
checking tmp_105
High Call: getMemberBaseDeposit
TMP_105
TMP_105
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_105
Num:
1
Den:
-1
Norm:
1
done.
_B0(uint256) := TMP_105(uint256)
checking _b0
Local variable: _b0
Function name: getCoverage
checking _b0
[i]Type for _B0
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_106 = CONVERT ROUTER to iROUTER
checking tmp_106
Temp variable: tmp_106
Function name: getCoverage
checking tmp_106
[i]Type for TMP_106
Num:
Den:
Norm:
1
done.
TMP_107(uint256) = HIGH_LEVEL_CALL, dest:TMP_106(iROUTER), function:getMemberTokenDeposit, arguments:['member', 'token']  
High Level Call: getmembertokendeposit
checking tmp_107
Temp variable: tmp_107
Function name: getCoverage
checking tmp_107
High Call: getMemberTokenDeposit
TMP_107
TMP_107
Finding type for hlc_1...
[*]Type fetched successfully
[i]Type for TMP_107
Num:
1
Den:
-1
Norm:
1
done.
_T0(uint256) := TMP_107(uint256)
checking _t0
Local variable: _t0
Function name: getCoverage
checking _t0
[i]Type for _T0
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_108 = CONVERT POOLS to iPOOLS
checking tmp_108
Temp variable: tmp_108
Function name: getCoverage
checking tmp_108
[i]Type for TMP_108
Num:
Den:
Norm:
1
done.
TMP_109(uint256) = HIGH_LEVEL_CALL, dest:TMP_108(iPOOLS), function:getMemberUnits, arguments:['token', 'member']  
High Level Call: getmemberunits
checking tmp_109
Temp variable: tmp_109
Function name: getCoverage
checking tmp_109
High Call: getMemberUnits
TMP_109
TMP_109
Finding type for hlc_2...
[*]Type fetched successfully
[i]Type for TMP_109
Num:
-1
Den:
-1
Norm:
1
done.
_units(uint256) := TMP_109(uint256)
checking _units
Local variable: _units
Function name: getCoverage
checking _units
[i]Type for _units
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_110 = CONVERT POOLS to iPOOLS
checking tmp_110
Temp variable: tmp_110
Function name: getCoverage
checking tmp_110
[i]Type for TMP_110
Num:
Den:
Norm:
1
done.
TMP_111(uint256) = HIGH_LEVEL_CALL, dest:TMP_110(iPOOLS), function:getUnits, arguments:['token']  
High Level Call: getunits
checking tmp_111
Temp variable: tmp_111
Function name: getCoverage
checking tmp_111
High Call: getUnits
TMP_111
TMP_111
Finding type for hlc_3...
[*]Type fetched successfully
[i]Type for TMP_111
Num:
-1
Den:
-1
Norm:
1
done.
TMP_112 = CONVERT POOLS to iPOOLS
checking tmp_112
Temp variable: tmp_112
Function name: getCoverage
checking tmp_112
[i]Type for TMP_112
Num:
Den:
Norm:
1
done.
TMP_113(uint256) = HIGH_LEVEL_CALL, dest:TMP_112(iPOOLS), function:getBaseAmount, arguments:['token']  
High Level Call: getbaseamount
checking tmp_113
Temp variable: tmp_113
Function name: getCoverage
checking tmp_113
High Call: getBaseAmount
TMP_113
TMP_113
Finding type for hlc_4...
[*]Type fetched successfully
[i]Type for TMP_113
Num:
-1
Den:
-1
Norm:
1
done.
TMP_114(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(_units,TMP_111,TMP_113)
Internal call...
calcShare
_units
TMP_111
TMP_113
Function: calcShare
checking tmp_114
Temp variable: tmp_114
Function name: getCoverage
checking tmp_114
Internal cal param_cache
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
Param: 2
    num: [-1]
    den: [-1]
added
Function name: calcShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
[i]Type for TMP_169
Num:
-2
-1
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
[i]Type for part
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
Error with: TMP_171
[i]Type for TMP_171
Num:
-2
-1
Den:
-1
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
[i]Type for TMP_172
Num:
-2
-1
Den:
-1
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
Error with: share
[i]Type for share
Num:
-2
Den:
Norm:
1
done.
Checking return value
[i]Type for TMP_114
Num:
-2
Den:
Norm:
1
done.
_B1(uint256) := TMP_114(uint256)
checking _b1
Local variable: _b1
Function name: getCoverage
checking _b1
[i]Type for _B1
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_115 = CONVERT POOLS to iPOOLS
checking tmp_115
Temp variable: tmp_115
Function name: getCoverage
checking tmp_115
[i]Type for TMP_115
Num:
Den:
Norm:
1
done.
TMP_116(uint256) = HIGH_LEVEL_CALL, dest:TMP_115(iPOOLS), function:getUnits, arguments:['token']  
High Level Call: getunits
checking tmp_116
Temp variable: tmp_116
Function name: getCoverage
checking tmp_116
High Call: getUnits
TMP_116
TMP_116
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_116
Num:
1
Den:
-1
Norm:
1
done.
TMP_117 = CONVERT POOLS to iPOOLS
checking tmp_117
Temp variable: tmp_117
Function name: getCoverage
checking tmp_117
[i]Type for TMP_117
Num:
Den:
Norm:
1
done.
TMP_118(uint256) = HIGH_LEVEL_CALL, dest:TMP_117(iPOOLS), function:getTokenAmount, arguments:['token']  
High Level Call: gettokenamount
checking tmp_118
Temp variable: tmp_118
Function name: getCoverage
checking tmp_118
High Call: getTokenAmount
TMP_118
TMP_118
Finding type for hlc_1...
[*]Type fetched successfully
[i]Type for TMP_118
Num:
1
Den:
-1
Norm:
1
done.
TMP_119(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(_units,TMP_116,TMP_118)
Internal call...
calcShare
_units
TMP_116
TMP_118
Function: calcShare
checking tmp_119
Temp variable: tmp_119
Function name: getCoverage
checking tmp_119
Internal cal param_cache
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
added
Function name: calcShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
Error with: TMP_169
[i]Type for TMP_169
Num:
-2
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
Error with: part
[i]Type for part
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
[x]node added back
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
Error with: TMP_171
[i]Type for TMP_171
Num:
-2
Den:
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
Error with: TMP_172
[i]Type for TMP_172
Num:
-2
Den:
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
[i]Type for share
Num:
-2
Den:
Norm:
1
done.
Checking return value
[i]Type for TMP_119
Num:
-2
Den:
Norm:
1
done.
_T1(uint256) := TMP_119(uint256)
checking _t1
Local variable: _t1
Function name: getCoverage
checking _t1
[i]Type for _T1
Num:
-2
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_120(uint256) = INTERNAL_CALL, Utils.calcCoverage(uint256,uint256,uint256,uint256)(_B0,_T0,_B1,_T1)
Internal call...
calcCoverage
_B0
_T0
_B1
_T1
Function: calcCoverage
checking tmp_120
Temp variable: tmp_120
Function name: getCoverage
checking tmp_120
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [-2]
    den: []
Param: 3
    num: [-2]
    den: []
added
Function name: calcCoverage
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_227(bool) = B0 > 0
checking tmp_227
Temp variable: tmp_227
Function name: calcCoverage
checking tmp_227
Constatn varible: 0
testing gt...
[i]Type for TMP_227
Num:
-1
Den:
Norm:
1
done.
TMP_228(bool) = T1 > 0
checking tmp_228
Temp variable: tmp_228
Function name: calcCoverage
checking tmp_228
Constatn varible: 0
testing gt...
[i]Type for TMP_228
Num:
-1
Den:
Norm:
1
done.
TMP_229(bool) = TMP_227 && TMP_228
checking tmp_229
Temp variable: tmp_229
Function name: calcCoverage
checking tmp_229
[i]Type for TMP_229
Num:
Den:
Norm:
1
done.
CONDITION TMP_229
Condition...
Conidtion: 
TMP_229
TMP_229
typecheckig node...
typecheckig node...
TMP_230(uint256) = T0 (c)* B1
checking tmp_230
Temp variable: tmp_230
Function name: calcCoverage
checking tmp_230
testing mul...
[i]Type for TMP_230
Num:
1
-2
Den:
-1
Norm:
1
done.
TMP_231(uint256) = TMP_230 (c)/ T1
checking tmp_231
Temp variable: tmp_231
Function name: calcCoverage
checking tmp_231
testing mul...
[i]Type for TMP_231
Num:
1
Den:
-1
Norm:
1
done.
TMP_232(uint256) = B0 (c)+ TMP_231
checking tmp_232
Temp variable: tmp_232
Function name: calcCoverage
checking tmp_232
[i]Type for TMP_232
Num:
1
Den:
-1
Norm:
1
done.
_depositValue(uint256) := TMP_232(uint256)
checking _depositvalue
Local variable: _depositvalue
Function name: calcCoverage
checking _depositvalue
[i]Type for _depositValue
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_233(uint256) = T1 (c)* B1
checking tmp_233
Temp variable: tmp_233
Function name: calcCoverage
checking tmp_233
testing mul...
[i]Type for TMP_233
Num:
-2
Den:
Norm:
1
done.
TMP_234(uint256) = TMP_233 (c)/ T1
checking tmp_234
Temp variable: tmp_234
Function name: calcCoverage
checking tmp_234
testing mul...
[i]Type for TMP_234
Num:
-1
Den:
Norm:
1
done.
TMP_235(uint256) = B1 (c)+ TMP_234
checking tmp_235
Temp variable: tmp_235
Function name: calcCoverage
checking tmp_235
[i]Type for TMP_235
Num:
-2
Den:
Norm:
1
done.
_redemptionValue(uint256) := TMP_235(uint256)
checking _redemptionvalue
Local variable: _redemptionvalue
Function name: calcCoverage
checking _redemptionvalue
[i]Type for _redemptionValue
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_236(bool) = _redemptionValue <= _depositValue
checking tmp_236
Temp variable: tmp_236
Function name: calcCoverage
checking tmp_236
testing lt...
Error with: TMP_236
[i]Type for TMP_236
Num:
-2
Den:
Norm:
1
done.
CONDITION TMP_236
Condition...
Conidtion: 
TMP_236
TMP_236
typecheckig node...
TMP_237(uint256) = _depositValue (c)- _redemptionValue
checking tmp_237
Temp variable: tmp_237
Function name: calcCoverage
checking tmp_237
L
R
Error with: TMP_237
[i]Type for TMP_237
Num:
-2
Den:
Norm:
1
done.
coverage(uint256) := TMP_237(uint256)
checking coverage
Local variable: coverage
Function name: calcCoverage
checking coverage
[i]Type for coverage
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
Checking return value
[i]Type for TMP_120
Num:
-2
Den:
Norm:
1
done.
RETURN TMP_120
Return...
Checking return value
[i]Type for TMP_95
Num:
Den:
Norm:
1
done.
_coverage(uint256) := TMP_95(uint256)
checking _coverage
Local variable: _coverage
Function name: getProtection
checking _coverage
[i]Type for _coverage
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_96 = CONVERT ROUTER to iROUTER
checking tmp_96
Temp variable: tmp_96
Function name: getProtection
checking tmp_96
[i]Type for TMP_96
Num:
Den:
Norm:
1
done.
TMP_97(bool) = HIGH_LEVEL_CALL, dest:TMP_96(iROUTER), function:isCurated, arguments:['token']  
High Level Call: iscurated
checking tmp_97
Temp variable: tmp_97
Function name: getProtection
checking tmp_97
High Call: isCurated
TMP_97
TMP_97
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_97
Num:
-1
Den:
-1
Norm:
1
done.
CONDITION TMP_97
Condition...
Conidtion: 
TMP_97
TMP_97
typecheckig node...
typecheckig node...
TMP_103(uint256) = INTERNAL_CALL, Utils.calcPart(uint256,uint256)(basisPoints,protection)
Internal call...
calcPart
basisPoints
protection
Function: calcPart
checking tmp_103
Temp variable: tmp_103
Function name: getProtection
checking tmp_103
[i]Type for TMP_103
Num:
Den:
Norm:
1
done.
RETURN TMP_103
Return...
[x]node added back
typecheckig node...
TMP_98 = CONVERT ROUTER to iROUTER
checking tmp_98
Temp variable: tmp_98
Function name: getProtection
checking tmp_98
[i]Type for TMP_98
Num:
Den:
Norm:
1
done.
TMP_99(uint256) = HIGH_LEVEL_CALL, dest:TMP_98(iROUTER), function:getMemberLastDeposit, arguments:['member', 'token']  
High Level Call: getmemberlastdeposit
checking tmp_99
Temp variable: tmp_99
Function name: getProtection
checking tmp_99
High Call: getMemberLastDeposit
TMP_99
TMP_99
Finding type for hlc_1...
[*]Type fetched successfully
[i]Type for TMP_99
Num:
1
Den:
-1
Norm:
1
done.
TMP_100(uint256) = block.timestamp (c)- TMP_99
checking tmp_100
Temp variable: tmp_100
Function name: getProtection
checking tmp_100
L
R
not variable
[i]Type for TMP_100
Num:
Den:
Norm:
1
done.
_duration(uint256) := TMP_100(uint256)
checking _duration
Local variable: _duration
Function name: getProtection
checking _duration
[i]Type for _duration
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_101(bool) = _duration <= timeForFullProtection
checking tmp_101
Temp variable: tmp_101
Function name: getProtection
checking tmp_101
testing lt...
[i]Type for TMP_101
Num:
Den:
Norm:
1
done.
CONDITION TMP_101
Condition...
Conidtion: 
TMP_101
TMP_101
[x]node added back
typecheckig node...
protection(uint256) := _coverage(uint256)
checking protection
Local variable: protection
Function name: getProtection
checking protection
[i]Type for protection
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
typecheckig node...
TMP_102(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(_duration,timeForFullProtection,_coverage)
Internal call...
calcShare
_duration
timeForFullProtection
_coverage
Function: calcShare
checking tmp_102
Temp variable: tmp_102
Function name: getProtection
checking tmp_102
[i]Type for TMP_102
Num:
Den:
Norm:
1
done.
protection(uint256) := TMP_102(uint256)
checking protection
Local variable: protection
Function name: getProtection
checking protection
[i]Type for protection
Num:
Den:
Norm:
1
done.
[x]node added back
Reading Function: getCoverage
Function name: getCoverage
Function Visibility: public
Finding type for member...
[*]Type fetched successfully
Finding type for token...
[*]Type fetched successfully
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_104 = CONVERT ROUTER to iROUTER
checking tmp_104
Temp variable: tmp_104
Function name: getCoverage
checking tmp_104
[i]Type for TMP_104
Num:
Den:
Norm:
1
done.
TMP_105(uint256) = HIGH_LEVEL_CALL, dest:TMP_104(iROUTER), function:getMemberBaseDeposit, arguments:['member', 'token']  
High Level Call: getmemberbasedeposit
checking tmp_105
Temp variable: tmp_105
Function name: getCoverage
checking tmp_105
High Call: getMemberBaseDeposit
TMP_105
TMP_105
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_105
Num:
1
Den:
-1
Norm:
1
done.
_B0(uint256) := TMP_105(uint256)
checking _b0
Local variable: _b0
Function name: getCoverage
checking _b0
[i]Type for _B0
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_106 = CONVERT ROUTER to iROUTER
checking tmp_106
Temp variable: tmp_106
Function name: getCoverage
checking tmp_106
[i]Type for TMP_106
Num:
Den:
Norm:
1
done.
TMP_107(uint256) = HIGH_LEVEL_CALL, dest:TMP_106(iROUTER), function:getMemberTokenDeposit, arguments:['member', 'token']  
High Level Call: getmembertokendeposit
checking tmp_107
Temp variable: tmp_107
Function name: getCoverage
checking tmp_107
High Call: getMemberTokenDeposit
TMP_107
TMP_107
Finding type for hlc_1...
[*]Type fetched successfully
[i]Type for TMP_107
Num:
1
Den:
-1
Norm:
1
done.
_T0(uint256) := TMP_107(uint256)
checking _t0
Local variable: _t0
Function name: getCoverage
checking _t0
[i]Type for _T0
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_108 = CONVERT POOLS to iPOOLS
checking tmp_108
Temp variable: tmp_108
Function name: getCoverage
checking tmp_108
[i]Type for TMP_108
Num:
Den:
Norm:
1
done.
TMP_109(uint256) = HIGH_LEVEL_CALL, dest:TMP_108(iPOOLS), function:getMemberUnits, arguments:['token', 'member']  
High Level Call: getmemberunits
checking tmp_109
Temp variable: tmp_109
Function name: getCoverage
checking tmp_109
High Call: getMemberUnits
TMP_109
TMP_109
Finding type for hlc_2...
[*]Type fetched successfully
[i]Type for TMP_109
Num:
-1
Den:
-1
Norm:
1
done.
_units(uint256) := TMP_109(uint256)
checking _units
Local variable: _units
Function name: getCoverage
checking _units
[i]Type for _units
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_110 = CONVERT POOLS to iPOOLS
checking tmp_110
Temp variable: tmp_110
Function name: getCoverage
checking tmp_110
[i]Type for TMP_110
Num:
Den:
Norm:
1
done.
TMP_111(uint256) = HIGH_LEVEL_CALL, dest:TMP_110(iPOOLS), function:getUnits, arguments:['token']  
High Level Call: getunits
checking tmp_111
Temp variable: tmp_111
Function name: getCoverage
checking tmp_111
High Call: getUnits
TMP_111
TMP_111
Finding type for hlc_3...
[*]Type fetched successfully
[i]Type for TMP_111
Num:
-1
Den:
-1
Norm:
1
done.
TMP_112 = CONVERT POOLS to iPOOLS
checking tmp_112
Temp variable: tmp_112
Function name: getCoverage
checking tmp_112
[i]Type for TMP_112
Num:
Den:
Norm:
1
done.
TMP_113(uint256) = HIGH_LEVEL_CALL, dest:TMP_112(iPOOLS), function:getBaseAmount, arguments:['token']  
High Level Call: getbaseamount
checking tmp_113
Temp variable: tmp_113
Function name: getCoverage
checking tmp_113
High Call: getBaseAmount
TMP_113
TMP_113
Finding type for hlc_4...
[*]Type fetched successfully
[i]Type for TMP_113
Num:
-1
Den:
-1
Norm:
1
done.
TMP_114(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(_units,TMP_111,TMP_113)
Internal call...
calcShare
_units
TMP_111
TMP_113
Function: calcShare
checking tmp_114
Temp variable: tmp_114
Function name: getCoverage
checking tmp_114
Internal cal param_cache
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
Param: 2
    num: [-1]
    den: [-1]
added
Function name: calcShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
[i]Type for TMP_169
Num:
-2
-1
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
[i]Type for part
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
-1
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
Error with: TMP_171
[i]Type for TMP_171
Num:
-2
-1
Den:
-1
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
Error with: TMP_172
[i]Type for TMP_172
Num:
-2
-1
Den:
-1
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
Error with: share
[i]Type for share
Num:
-2
Den:
Norm:
1
done.
Checking return value
[i]Type for TMP_114
Num:
-2
Den:
Norm:
1
done.
_B1(uint256) := TMP_114(uint256)
checking _b1
Local variable: _b1
Function name: getCoverage
checking _b1
[i]Type for _B1
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_115 = CONVERT POOLS to iPOOLS
checking tmp_115
Temp variable: tmp_115
Function name: getCoverage
checking tmp_115
[i]Type for TMP_115
Num:
Den:
Norm:
1
done.
TMP_116(uint256) = HIGH_LEVEL_CALL, dest:TMP_115(iPOOLS), function:getUnits, arguments:['token']  
High Level Call: getunits
checking tmp_116
Temp variable: tmp_116
Function name: getCoverage
checking tmp_116
High Call: getUnits
TMP_116
TMP_116
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_116
Num:
1
Den:
-1
Norm:
1
done.
TMP_117 = CONVERT POOLS to iPOOLS
checking tmp_117
Temp variable: tmp_117
Function name: getCoverage
checking tmp_117
[i]Type for TMP_117
Num:
Den:
Norm:
1
done.
TMP_118(uint256) = HIGH_LEVEL_CALL, dest:TMP_117(iPOOLS), function:getTokenAmount, arguments:['token']  
High Level Call: gettokenamount
checking tmp_118
Temp variable: tmp_118
Function name: getCoverage
checking tmp_118
High Call: getTokenAmount
TMP_118
TMP_118
Finding type for hlc_1...
[*]Type fetched successfully
[i]Type for TMP_118
Num:
1
Den:
-1
Norm:
1
done.
TMP_119(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(_units,TMP_116,TMP_118)
Internal call...
calcShare
_units
TMP_116
TMP_118
Function: calcShare
checking tmp_119
Temp variable: tmp_119
Function name: getCoverage
checking tmp_119
Internal cal param_cache
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
added
Function name: calcShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
Error with: TMP_169
[i]Type for TMP_169
Num:
-2
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
Error with: part
[i]Type for part
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
-1
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
[x]node added back
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
Error with: TMP_171
[i]Type for TMP_171
Num:
-2
Den:
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
Error with: TMP_172
[i]Type for TMP_172
Num:
-2
Den:
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
[i]Type for share
Num:
-2
Den:
Norm:
1
done.
Checking return value
[i]Type for TMP_119
Num:
-2
Den:
Norm:
1
done.
_T1(uint256) := TMP_119(uint256)
checking _t1
Local variable: _t1
Function name: getCoverage
checking _t1
[i]Type for _T1
Num:
-2
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_120(uint256) = INTERNAL_CALL, Utils.calcCoverage(uint256,uint256,uint256,uint256)(_B0,_T0,_B1,_T1)
Internal call...
calcCoverage
_B0
_T0
_B1
_T1
Function: calcCoverage
checking tmp_120
Temp variable: tmp_120
Function name: getCoverage
checking tmp_120
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [-2]
    den: []
Param: 3
    num: [-2]
    den: []
[i]Type for TMP_120
Num:
-2
Den:
Norm:
1
done.
RETURN TMP_120
Return...
Reading Function: getCollateralValueInBase
Function name: getCollateralValueInBase
Function Visibility: external
Finding type for member...
[*]Type fetched successfully
Finding type for collateral...
[*]Type fetched successfully
Finding type for collateralAsset...
[*]Type fetched successfully
Finding type for debtAsset...
[*]Type fetched successfully
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
Param: 3
    num: [2]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_121(uint256) = collateral (c)* 6666
checking tmp_121
Temp variable: tmp_121
Function name: getCollateralValueInBase
checking tmp_121
Constatn varible: 6666
testing mul...
[i]Type for TMP_121
Num:
1
Den:
-1
Norm:
1
done.
TMP_122(uint256) = TMP_121 (c)/ 10000
checking tmp_122
Temp variable: tmp_122
Function name: getCollateralValueInBase
checking tmp_122
Constatn varible: 10000
testing mul...
[i]Type for TMP_122
Num:
1
Den:
-1
Norm:
1
done.
_collateralAdjusted(uint256) := TMP_122(uint256)
checking _collateraladjusted
Local variable: _collateraladjusted
Function name: getCollateralValueInBase
checking _collateraladjusted
[i]Type for _collateralAdjusted
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_123(bool) = INTERNAL_CALL, Utils.isBase(address)(collateralAsset)
Internal call...
isBase
collateralAsset
Function: isBase
checking tmp_123
Temp variable: tmp_123
Function name: getCollateralValueInBase
checking tmp_123
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
[i]Type for TMP_123
Num:
Den:
Norm:
1
done.
CONDITION TMP_123
Condition...
Conidtion: 
TMP_123
TMP_123
typecheckig node...
TMP_124(bool) = INTERNAL_CALL, Utils.isPool(address)(collateralAsset)
Internal call...
isPool
collateralAsset
Function: isPool
checking tmp_124
Temp variable: tmp_124
Function name: getCollateralValueInBase
checking tmp_124
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
[i]Type for TMP_124
Num:
Den:
Norm:
1
done.
CONDITION TMP_124
Condition...
Conidtion: 
TMP_124
TMP_124
typecheckig node...
baseValue(uint256) := _collateralAdjusted(uint256)
checking basevalue
Local variable: basevalue
Function name: getCollateralValueInBase
checking basevalue
[i]Type for baseValue
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_130 = CONVERT FACTORY to iFACTORY
checking tmp_130
Temp variable: tmp_130
Function name: getCollateralValueInBase
checking tmp_130
[i]Type for TMP_130
Num:
Den:
Norm:
1
done.
TMP_131(bool) = HIGH_LEVEL_CALL, dest:TMP_130(iFACTORY), function:isSynth, arguments:['collateralAsset']  
High Level Call: issynth
checking tmp_131
Temp variable: tmp_131
Function name: getCollateralValueInBase
checking tmp_131
High Call: isSynth
TMP_131
TMP_131
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_131
Num:
-1
Den:
-1
Norm:
1
done.
CONDITION TMP_131
Condition...
Conidtion: 
TMP_131
TMP_131
typecheckig node...
TMP_125 = CONVERT POOLS to iPOOLS
checking tmp_125
Temp variable: tmp_125
Function name: getCollateralValueInBase
checking tmp_125
[i]Type for TMP_125
Num:
Den:
Norm:
1
done.
TMP_126(uint256) = HIGH_LEVEL_CALL, dest:TMP_125(iPOOLS), function:getMemberUnits, arguments:['collateralAsset', 'member']  
High Level Call: getmemberunits
checking tmp_126
Temp variable: tmp_126
Function name: getCollateralValueInBase
checking tmp_126
High Call: getMemberUnits
TMP_126
TMP_126
Finding type for hlc_1...
[*]Type fetched successfully
[i]Type for TMP_126
Num:
-1
Den:
-1
Norm:
1
done.
TMP_127 = CONVERT POOLS to iPOOLS
checking tmp_127
Temp variable: tmp_127
Function name: getCollateralValueInBase
checking tmp_127
[i]Type for TMP_127
Num:
Den:
Norm:
1
done.
TMP_128(uint256) = HIGH_LEVEL_CALL, dest:TMP_127(iPOOLS), function:getBaseAmount, arguments:['collateralAsset']  
High Level Call: getbaseamount
checking tmp_128
Temp variable: tmp_128
Function name: getCollateralValueInBase
checking tmp_128
High Call: getBaseAmount
TMP_128
TMP_128
Finding type for hlc_2...
[*]Type fetched successfully
[i]Type for TMP_128
Num:
1
Den:
-1
Norm:
1
done.
TMP_129(uint256) = INTERNAL_CALL, Utils.calcAsymmetricShare(uint256,uint256,uint256)(_collateralAdjusted,TMP_126,TMP_128)
Internal call...
calcAsymmetricShare
_collateralAdjusted
TMP_126
TMP_128
Function: calcAsymmetricShare
checking tmp_129
Temp variable: tmp_129
Function name: getCollateralValueInBase
checking tmp_129
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
added
Function name: calcAsymmetricShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_215(uint256) = u (c)* A
checking tmp_215
Temp variable: tmp_215
Function name: calcAsymmetricShare
checking tmp_215
testing mul...
[i]Type for TMP_215
Num:
1
Den:
-1
Norm:
1
done.
part1(uint256) := TMP_215(uint256)
checking part1
Local variable: part1
Function name: calcAsymmetricShare
checking part1
[i]Type for part1
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_216(uint256) = U (c)* U
checking tmp_216
Temp variable: tmp_216
Function name: calcAsymmetricShare
checking tmp_216
testing mul...
[i]Type for TMP_216
Num:
-1
Den:
-1
Norm:
1
done.
TMP_217(uint256) = TMP_216 (c)* 2
checking tmp_217
Temp variable: tmp_217
Function name: calcAsymmetricShare
checking tmp_217
Constatn varible: 2
testing mul...
[i]Type for TMP_217
Num:
-1
Den:
-1
Norm:
1
done.
part2(uint256) := TMP_217(uint256)
checking part2
Local variable: part2
Function name: calcAsymmetricShare
checking part2
[i]Type for part2
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_218(uint256) = U (c)* u
checking tmp_218
Temp variable: tmp_218
Function name: calcAsymmetricShare
checking tmp_218
testing mul...
[i]Type for TMP_218
Num:
-1
1
Den:
-1
Norm:
1
done.
TMP_219(uint256) = TMP_218 (c)* 2
checking tmp_219
Temp variable: tmp_219
Function name: calcAsymmetricShare
checking tmp_219
Constatn varible: 2
testing mul...
[i]Type for TMP_219
Num:
-1
1
Den:
-1
Norm:
1
done.
part3(uint256) := TMP_219(uint256)
checking part3
Local variable: part3
Function name: calcAsymmetricShare
checking part3
[i]Type for part3
Num:
-1
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_220(uint256) = u (c)* u
checking tmp_220
Temp variable: tmp_220
Function name: calcAsymmetricShare
checking tmp_220
testing mul...
[i]Type for TMP_220
Num:
1
Den:
-1
Norm:
1
done.
part4(uint256) := TMP_220(uint256)
checking part4
Local variable: part4
Function name: calcAsymmetricShare
checking part4
[i]Type for part4
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_221(uint256) = part1 (c)* part2
checking tmp_221
Temp variable: tmp_221
Function name: calcAsymmetricShare
checking tmp_221
testing mul...
[i]Type for TMP_221
Num:
1
-1
Den:
-1
Norm:
1
done.
TMP_222(uint256) = TMP_221 (c)- part3
checking tmp_222
Temp variable: tmp_222
Function name: calcAsymmetricShare
checking tmp_222
L
R
[i]Type for TMP_222
Num:
1
-1
Den:
-1
Norm:
1
done.
TMP_223(uint256) = TMP_222 (c)+ part4
checking tmp_223
Temp variable: tmp_223
Function name: calcAsymmetricShare
checking tmp_223
Error with: TMP_223
[i]Type for TMP_223
Num:
-2
Den:
Norm:
1
done.
numerator(uint256) := TMP_223(uint256)
checking numerator
Local variable: numerator
Function name: calcAsymmetricShare
checking numerator
[i]Type for numerator
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_224(uint256) = U (c)* U
checking tmp_224
Temp variable: tmp_224
Function name: calcAsymmetricShare
checking tmp_224
testing mul...
[i]Type for TMP_224
Num:
-1
Den:
-1
Norm:
1
done.
TMP_225(uint256) = TMP_224 (c)* U
checking tmp_225
Temp variable: tmp_225
Function name: calcAsymmetricShare
checking tmp_225
testing mul...
[i]Type for TMP_225
Num:
-1
Den:
-1
Norm:
1
done.
part5(uint256) := TMP_225(uint256)
checking part5
Local variable: part5
Function name: calcAsymmetricShare
checking part5
[i]Type for part5
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_226(uint256) = numerator (c)/ part5
checking tmp_226
Temp variable: tmp_226
Function name: calcAsymmetricShare
checking tmp_226
testing mul...
[i]Type for TMP_226
Num:
-2
-1
Den:
-1
Norm:
1
done.
RETURN TMP_226
Return...
Checking return value
[i]Type for TMP_129
Num:
Den:
Norm:
1
done.
baseValue(uint256) := TMP_129(uint256)
checking basevalue
Local variable: basevalue
Function name: getCollateralValueInBase
checking basevalue
[i]Type for baseValue
Num:
1
Den:
-1
Norm:
1
done.
[x]node added back
typecheckig node...
typecheckig node...
TMP_132 = CONVERT collateralAsset to iSYNTH
checking tmp_132
Temp variable: tmp_132
Function name: getCollateralValueInBase
checking tmp_132
[i]Type for TMP_132
Num:
Den:
Norm:
1
done.
TMP_133(address) = HIGH_LEVEL_CALL, dest:TMP_132(iSYNTH), function:TOKEN, arguments:[]  
High Level Call: token
checking tmp_133
Temp variable: tmp_133
Function name: getCollateralValueInBase
checking tmp_133
High Call: TOKEN
TMP_133
TMP_133
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_133
Num:
-1
Den:
-1
Norm:
1
done.
TMP_134(uint256) = INTERNAL_CALL, Utils.calcSwapValueInBase(address,uint256)(TMP_133,_collateralAdjusted)
Internal call...
calcSwapValueInBase
TMP_133
_collateralAdjusted
Function: calcSwapValueInBase
checking tmp_134
Temp variable: tmp_134
Function name: getCollateralValueInBase
checking tmp_134
Internal cal param_cache
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
added
Function name: calcSwapValueInBase
Function Visibility: public
typecheckig node...
typecheckig node...
typecheckig node...
typecheckig node...
TMP_53 = CONVERT POOLS to iPOOLS
checking tmp_53
Temp variable: tmp_53
Function name: calcSwapValueInBase
checking tmp_53
[i]Type for TMP_53
Num:
Den:
Norm:
1
done.
TUPLE_2(uint256,uint256) = HIGH_LEVEL_CALL, dest:TMP_53(iPOOLS), function:getPoolAmounts, arguments:['token']  
High Level Call: getpoolamounts
checking tuple_2
TUple variable: tuple_2
Function name: calcSwapValueInBase
checking tuple_2
High Call: getPoolAmounts
TUPLE_2
TUPLE_2
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TUPLE_2
Num:
-1
Den:
-1
Norm:
1
done.
_baseAmt(uint256)= UNPACK TUPLE_2 index: 0 
checking _baseamt
Local variable: _baseamt
Function name: calcSwapValueInBase
checking _baseamt
Reading tuple TUPLE_2 index 0
Finding type for _baseAmt...
[*]Type fetched successfully
[i]Type for _baseAmt
Num:
-1
Den:
-1
Norm:
1
done.
_tokenAmt(uint256)= UNPACK TUPLE_2 index: 1 
checking _tokenamt
Local variable: _tokenamt
Function name: calcSwapValueInBase
checking _tokenamt
Reading tuple TUPLE_2 index 1
Finding type for _tokenAmt...
[*]Type fetched successfully
[i]Type for _tokenAmt
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_54(uint256) = INTERNAL_CALL, Utils.calcSwapOutput(uint256,uint256,uint256)(amount,_tokenAmt,_baseAmt)
Internal call...
calcSwapOutput
amount
_tokenAmt
_baseAmt
Function: calcSwapOutput
checking tmp_54
Temp variable: tmp_54
Function name: calcSwapValueInBase
checking tmp_54
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [-1]
    den: [-1]
added
Function name: calcSwapOutput
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_173(uint256) = x (c)* X
checking tmp_173
Temp variable: tmp_173
Function name: calcSwapOutput
checking tmp_173
testing mul...
Error with: TMP_173
[i]Type for TMP_173
Num:
-2
1
Den:
-1
Norm:
1
done.
TMP_174(uint256) = TMP_173 (c)* Y
checking tmp_174
Temp variable: tmp_174
Function name: calcSwapOutput
checking tmp_174
testing mul...
[i]Type for TMP_174
Num:
-2
1
-1
Den:
-1
Norm:
1
done.
numerator(uint256) := TMP_174(uint256)
checking numerator
Local variable: numerator
Function name: calcSwapOutput
checking numerator
Error with: numerator
[i]Type for numerator
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_175(uint256) = x (c)+ X
checking tmp_175
Temp variable: tmp_175
Function name: calcSwapOutput
checking tmp_175
Error with: TMP_175
[i]Type for TMP_175
Num:
-2
Den:
Norm:
1
done.
TMP_176(uint256) = x (c)+ X
checking tmp_176
Temp variable: tmp_176
Function name: calcSwapOutput
checking tmp_176
Error with: TMP_176
[i]Type for TMP_176
Num:
-2
Den:
Norm:
1
done.
TMP_177(uint256) = TMP_175 (c)* TMP_176
checking tmp_177
Temp variable: tmp_177
Function name: calcSwapOutput
checking tmp_177
testing mul...
[i]Type for TMP_177
Num:
-2
Den:
Norm:
1
done.
denominator(uint256) := TMP_177(uint256)
checking denominator
Local variable: denominator
Function name: calcSwapOutput
checking denominator
[i]Type for denominator
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_178(uint256) = numerator (c)/ denominator
checking tmp_178
Temp variable: tmp_178
Function name: calcSwapOutput
checking tmp_178
testing mul...
Error with: TMP_178
[i]Type for TMP_178
Num:
-1
Den:
Norm:
1
done.
RETURN TMP_178
Return...
Checking return value
[i]Type for TMP_54
Num:
Den:
Norm:
1
done.
RETURN TMP_54
Return...
Checking return value
[i]Type for TMP_134
Num:
Den:
Norm:
1
done.
baseValue(uint256) := TMP_134(uint256)
checking basevalue
Local variable: basevalue
Function name: getCollateralValueInBase
checking basevalue
[i]Type for baseValue
Num:
1
Den:
-1
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_135(uint256) = INTERNAL_CALL, Utils.calcSwapValueInToken(address,uint256)(debtAsset,baseValue)
Internal call...
calcSwapValueInToken
debtAsset
baseValue
Function: calcSwapValueInToken
checking tmp_135
Temp variable: tmp_135
Function name: getCollateralValueInBase
checking tmp_135
Internal cal param_cache
Param: 0
    num: [2]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
added
Function name: calcSwapValueInToken
Function Visibility: public
typecheckig node...
typecheckig node...
typecheckig node...
typecheckig node...
TMP_55 = CONVERT POOLS to iPOOLS
checking tmp_55
Temp variable: tmp_55
Function name: calcSwapValueInToken
checking tmp_55
[i]Type for TMP_55
Num:
Den:
Norm:
1
done.
TUPLE_3(uint256,uint256) = HIGH_LEVEL_CALL, dest:TMP_55(iPOOLS), function:getPoolAmounts, arguments:['token']  
High Level Call: getpoolamounts
checking tuple_3
TUple variable: tuple_3
Function name: calcSwapValueInToken
checking tuple_3
High Call: getPoolAmounts
TUPLE_3
TUPLE_3
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TUPLE_3
Num:
-1
Den:
-1
Norm:
1
done.
_baseAmt(uint256)= UNPACK TUPLE_3 index: 0 
checking _baseamt
Local variable: _baseamt
Function name: calcSwapValueInToken
checking _baseamt
Reading tuple TUPLE_3 index 0
Finding type for _baseAmt...
[*]Type fetched successfully
[i]Type for _baseAmt
Num:
-1
Den:
-1
Norm:
1
done.
_tokenAmt(uint256)= UNPACK TUPLE_3 index: 1 
checking _tokenamt
Local variable: _tokenamt
Function name: calcSwapValueInToken
checking _tokenamt
Reading tuple TUPLE_3 index 1
Finding type for _tokenAmt...
[*]Type fetched successfully
[i]Type for _tokenAmt
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_56(uint256) = INTERNAL_CALL, Utils.calcSwapOutput(uint256,uint256,uint256)(amount,_baseAmt,_tokenAmt)
Internal call...
calcSwapOutput
amount
_baseAmt
_tokenAmt
Function: calcSwapOutput
checking tmp_56
Temp variable: tmp_56
Function name: calcSwapValueInToken
checking tmp_56
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
added
Function name: calcSwapOutput
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_173(uint256) = x (c)* X
checking tmp_173
Temp variable: tmp_173
Function name: calcSwapOutput
checking tmp_173
testing mul...
Error with: TMP_173
[i]Type for TMP_173
Num:
-2
-1
Den:
-1
Norm:
1
done.
TMP_174(uint256) = TMP_173 (c)* Y
checking tmp_174
Temp variable: tmp_174
Function name: calcSwapOutput
checking tmp_174
testing mul...
Error with: TMP_174
[i]Type for TMP_174
Num:
-2
1
Den:
-1
Norm:
1
done.
numerator(uint256) := TMP_174(uint256)
checking numerator
Local variable: numerator
Function name: calcSwapOutput
checking numerator
Error with: numerator
[i]Type for numerator
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_175(uint256) = x (c)+ X
checking tmp_175
Temp variable: tmp_175
Function name: calcSwapOutput
checking tmp_175
Error with: TMP_175
[i]Type for TMP_175
Num:
-2
Den:
Norm:
1
done.
TMP_176(uint256) = x (c)+ X
checking tmp_176
Temp variable: tmp_176
Function name: calcSwapOutput
checking tmp_176
Error with: TMP_176
[i]Type for TMP_176
Num:
-2
Den:
Norm:
1
done.
TMP_177(uint256) = TMP_175 (c)* TMP_176
checking tmp_177
Temp variable: tmp_177
Function name: calcSwapOutput
checking tmp_177
testing mul...
[i]Type for TMP_177
Num:
-2
Den:
Norm:
1
done.
denominator(uint256) := TMP_177(uint256)
checking denominator
Local variable: denominator
Function name: calcSwapOutput
checking denominator
[i]Type for denominator
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_178(uint256) = numerator (c)/ denominator
checking tmp_178
Temp variable: tmp_178
Function name: calcSwapOutput
checking tmp_178
testing mul...
Error with: TMP_178
[i]Type for TMP_178
Num:
-1
Den:
Norm:
1
done.
RETURN TMP_178
Return...
Checking return value
[i]Type for TMP_56
Num:
Den:
Norm:
1
done.
RETURN TMP_56
Return...
Checking return value
[i]Type for TMP_135
Num:
Den:
Norm:
1
done.
debt(uint256) := TMP_135(uint256)
checking debt
Local variable: debt
Function name: getCollateralValueInBase
checking debt
[i]Type for debt
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
typecheckig node...
RETURN debt,baseValue
Return...
Reading Function: getDebtValueInCollateral
Function name: getDebtValueInCollateral
Function Visibility: external
Finding type for member...
[*]Type fetched successfully
Finding type for debt...
[*]Type fetched successfully
Finding type for collateralAsset...
[*]Type fetched successfully
Finding type for debtAsset...
[*]Type fetched successfully
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [2]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
Param: 3
    num: [1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_136 = CONVERT ROUTER to iROUTER
checking tmp_136
Temp variable: tmp_136
Function name: getDebtValueInCollateral
checking tmp_136
[i]Type for TMP_136
Num:
Den:
Norm:
1
done.
TMP_137(uint256) = HIGH_LEVEL_CALL, dest:TMP_136(iROUTER), function:getMemberDebt, arguments:['member', 'collateralAsset', 'debtAsset']  
High Level Call: getmemberdebt
checking tmp_137
Temp variable: tmp_137
Function name: getDebtValueInCollateral
checking tmp_137
High Call: getMemberDebt
TMP_137
TMP_137
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_137
Num:
2
Den:
-1
Norm:
1
done.
_memberDebt(uint256) := TMP_137(uint256)
checking _memberdebt
Local variable: _memberdebt
Function name: getDebtValueInCollateral
checking _memberdebt
[i]Type for _memberDebt
Num:
2
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_138 = CONVERT ROUTER to iROUTER
checking tmp_138
Temp variable: tmp_138
Function name: getDebtValueInCollateral
checking tmp_138
[i]Type for TMP_138
Num:
Den:
Norm:
1
done.
TMP_139(uint256) = HIGH_LEVEL_CALL, dest:TMP_138(iROUTER), function:getMemberCollateral, arguments:['member', 'collateralAsset', 'debtAsset']  
High Level Call: getmembercollateral
checking tmp_139
Temp variable: tmp_139
Function name: getDebtValueInCollateral
checking tmp_139
High Call: getMemberCollateral
TMP_139
TMP_139
Finding type for hlc_1...
[*]Type fetched successfully
[i]Type for TMP_139
Num:
1
Den:
-1
Norm:
1
done.
_memberCollateral(uint256) := TMP_139(uint256)
checking _membercollateral
Local variable: _membercollateral
Function name: getDebtValueInCollateral
checking _membercollateral
[i]Type for _memberCollateral
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_140 = CONVERT ROUTER to iROUTER
checking tmp_140
Temp variable: tmp_140
Function name: getDebtValueInCollateral
checking tmp_140
[i]Type for TMP_140
Num:
Den:
Norm:
1
done.
TMP_141(uint256) = HIGH_LEVEL_CALL, dest:TMP_140(iROUTER), function:getSystemCollateral, arguments:['collateralAsset', 'debtAsset']  
High Level Call: getsystemcollateral
checking tmp_141
Temp variable: tmp_141
Function name: getDebtValueInCollateral
checking tmp_141
High Call: getSystemCollateral
TMP_141
TMP_141
Finding type for hlc_2...
[*]Type fetched successfully
[i]Type for TMP_141
Num:
1
Den:
-1
Norm:
1
done.
_collateral(uint256) := TMP_141(uint256)
checking _collateral
Local variable: _collateral
Function name: getDebtValueInCollateral
checking _collateral
[i]Type for _collateral
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_142 = CONVERT ROUTER to iROUTER
checking tmp_142
Temp variable: tmp_142
Function name: getDebtValueInCollateral
checking tmp_142
[i]Type for TMP_142
Num:
Den:
Norm:
1
done.
TMP_143(uint256) = HIGH_LEVEL_CALL, dest:TMP_142(iROUTER), function:getSystemInterestPaid, arguments:['collateralAsset', 'debtAsset']  
High Level Call: getsysteminterestpaid
checking tmp_143
Temp variable: tmp_143
Function name: getDebtValueInCollateral
checking tmp_143
High Call: getSystemInterestPaid
TMP_143
TMP_143
Finding type for hlc_3...
[*]Type fetched successfully
[i]Type for TMP_143
Num:
1
Den:
-1
Norm:
1
done.
_interestPaid(uint256) := TMP_143(uint256)
checking _interestpaid
Local variable: _interestpaid
Function name: getDebtValueInCollateral
checking _interestpaid
[i]Type for _interestPaid
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_144(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(_memberCollateral,_collateral,_interestPaid)
Internal call...
calcShare
_memberCollateral
_collateral
_interestPaid
Function: calcShare
checking tmp_144
Temp variable: tmp_144
Function name: getDebtValueInCollateral
checking tmp_144
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
added
Function name: calcShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
[i]Type for TMP_169
Num:
-2
-1
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
[i]Type for part
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
Error with: TMP_171
[i]Type for TMP_171
Num:
-2
1
Den:
-1
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
Error with: TMP_172
[i]Type for TMP_172
Num:
-2
Den:
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
[i]Type for share
Num:
-2
Den:
Norm:
1
done.
Checking return value
[i]Type for TMP_144
Num:
-2
Den:
Norm:
1
done.
_memberInterestShare(uint256) := TMP_144(uint256)
checking _memberinterestshare
Local variable: _memberinterestshare
Function name: getDebtValueInCollateral
checking _memberinterestshare
[i]Type for _memberInterestShare
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_145(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(debt,_memberDebt,_memberCollateral)
Internal call...
calcShare
debt
_memberDebt
_memberCollateral
Function: calcShare
checking tmp_145
Temp variable: tmp_145
Function name: getDebtValueInCollateral
checking tmp_145
Internal cal param_cache
Param: 0
    num: [2]
    den: [-1]
Param: 1
    num: [2]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
added
Function name: calcShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
[i]Type for TMP_169
Num:
-2
-1
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
[i]Type for part
Num:
2
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
[x]node added back
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
Error with: TMP_171
[i]Type for TMP_171
Num:
-2
2
Den:
-1
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
Error with: TMP_172
[i]Type for TMP_172
Num:
-2
Den:
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
[i]Type for share
Num:
-2
Den:
Norm:
1
done.
Checking return value
[i]Type for TMP_145
Num:
-2
Den:
Norm:
1
done.
_collateralUnlocked(uint256) := TMP_145(uint256)
checking _collateralunlocked
Local variable: _collateralunlocked
Function name: getDebtValueInCollateral
checking _collateralunlocked
[i]Type for _collateralUnlocked
Num:
-2
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
RETURN _collateralUnlocked,_memberInterestShare
Return...
Reading Function: getInterestOwed
Function name: getInterestOwed
Function Visibility: external
Finding type for collateralAsset...
[*]Type fetched successfully
Finding type for debtAsset...
[*]Type fetched successfully
Finding type for timeElapsed...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [2]
    den: [-1]
Param: 2
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_146(uint256) = INTERNAL_CALL, Utils.getInterestPayment(address,address)(collateralAsset,debtAsset)
Internal call...
getInterestPayment
collateralAsset
debtAsset
Function: getInterestPayment
checking tmp_146
Temp variable: tmp_146
Function name: getInterestOwed
checking tmp_146
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [2]
    den: [-1]
added
Function name: getInterestPayment
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_153(uint256) = INTERNAL_CALL, Utils.getDebtLoading(address,address)(collateralAsset,debtAsset)
Internal call...
getDebtLoading
collateralAsset
debtAsset
Function: getDebtLoading
checking tmp_153
Temp variable: tmp_153
Function name: getInterestPayment
checking tmp_153
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [2]
    den: [-1]
added
Function name: getDebtLoading
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_158 = CONVERT ROUTER to iROUTER
checking tmp_158
Temp variable: tmp_158
Function name: getDebtLoading
checking tmp_158
[i]Type for TMP_158
Num:
Den:
Norm:
1
done.
TMP_159(uint256) = HIGH_LEVEL_CALL, dest:TMP_158(iROUTER), function:getSystemDebt, arguments:['collateralAsset', 'debtAsset']  
High Level Call: getsystemdebt
checking tmp_159
Temp variable: tmp_159
Function name: getDebtLoading
checking tmp_159
High Call: getSystemDebt
TMP_159
TMP_159
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_159
Num:
1
Den:
-1
Norm:
1
done.
_debtIssued(uint256) := TMP_159(uint256)
checking _debtissued
Local variable: _debtissued
Function name: getDebtLoading
checking _debtissued
[i]Type for _debtIssued
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_160 = CONVERT POOLS to iPOOLS
checking tmp_160
Temp variable: tmp_160
Function name: getDebtLoading
checking tmp_160
[i]Type for TMP_160
Num:
Den:
Norm:
1
done.
TMP_161(uint256) = HIGH_LEVEL_CALL, dest:TMP_160(iPOOLS), function:getTokenAmount, arguments:['debtAsset']  
High Level Call: gettokenamount
checking tmp_161
Temp variable: tmp_161
Function name: getDebtLoading
checking tmp_161
High Call: getTokenAmount
TMP_161
TMP_161
Finding type for hlc_1...
[*]Type fetched successfully
[i]Type for TMP_161
Num:
1
Den:
-1
Norm:
1
done.
_debtDepth(uint256) := TMP_161(uint256)
checking _debtdepth
Local variable: _debtdepth
Function name: getDebtLoading
checking _debtdepth
[i]Type for _debtDepth
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_162(uint256) = _debtIssued (c)* 10000
checking tmp_162
Temp variable: tmp_162
Function name: getDebtLoading
checking tmp_162
Constatn varible: 10000
testing mul...
[i]Type for TMP_162
Num:
1
Den:
-1
Norm:
1
done.
TMP_163(uint256) = TMP_162 (c)/ _debtDepth
checking tmp_163
Temp variable: tmp_163
Function name: getDebtLoading
checking tmp_163
testing mul...
[i]Type for TMP_163
Num:
1
Den:
-1
Norm:
1
done.
RETURN TMP_163
Return...
Checking return value
[i]Type for TMP_153
Num:
Den:
Norm:
1
done.
_debtLoading(uint256) := TMP_153(uint256)
checking _debtloading
Local variable: _debtloading
Function name: getInterestPayment
checking _debtloading
[i]Type for _debtLoading
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_154 = CONVERT ROUTER to iROUTER
checking tmp_154
Temp variable: tmp_154
Function name: getInterestPayment
checking tmp_154
[i]Type for TMP_154
Num:
Den:
Norm:
1
done.
TMP_155(uint256) = HIGH_LEVEL_CALL, dest:TMP_154(iROUTER), function:getSystemDebt, arguments:['collateralAsset', 'debtAsset']  
High Level Call: getsystemdebt
checking tmp_155
Temp variable: tmp_155
Function name: getInterestPayment
checking tmp_155
High Call: getSystemDebt
TMP_155
TMP_155
Finding type for hlc_2...
[*]Type fetched successfully
[i]Type for TMP_155
Num:
2
Den:
-1
Norm:
1
done.
TMP_156(uint256) = _debtLoading (c)* TMP_155
checking tmp_156
Temp variable: tmp_156
Function name: getInterestPayment
checking tmp_156
testing mul...
[i]Type for TMP_156
Num:
Den:
Norm:
1
done.
TMP_157(uint256) = TMP_156 (c)/ 10000
checking tmp_157
Temp variable: tmp_157
Function name: getInterestPayment
checking tmp_157
Constatn varible: 10000
testing mul...
[i]Type for TMP_157
Num:
Den:
Norm:
1
done.
RETURN TMP_157
Return...
[x]node added back
Checking return value
[i]Type for TMP_146
Num:
Den:
Norm:
1
done.
TMP_147(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(timeElapsed,_year,TMP_146)
Internal call...
calcShare
timeElapsed
_year
TMP_146
Function: calcShare
checking tmp_147
Temp variable: tmp_147
Function name: getInterestOwed
checking tmp_147
[i]Type for TMP_147
Num:
Den:
Norm:
1
done.
_interestPayment(uint256) := TMP_147(uint256)
checking _interestpayment
Local variable: _interestpayment
Function name: getInterestOwed
checking _interestpayment
[i]Type for _interestPayment
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_148(bool) = INTERNAL_CALL, Utils.isBase(address)(collateralAsset)
Internal call...
isBase
collateralAsset
Function: isBase
checking tmp_148
Temp variable: tmp_148
Function name: getInterestOwed
checking tmp_148
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
[i]Type for TMP_148
Num:
Den:
Norm:
1
done.
CONDITION TMP_148
Condition...
Conidtion: 
TMP_148
TMP_148
typecheckig node...
TMP_150 = CONVERT FACTORY to iFACTORY
checking tmp_150
Temp variable: tmp_150
Function name: getInterestOwed
checking tmp_150
[i]Type for TMP_150
Num:
Den:
Norm:
1
done.
TMP_151(bool) = HIGH_LEVEL_CALL, dest:TMP_150(iFACTORY), function:isSynth, arguments:['collateralAsset']  
High Level Call: issynth
checking tmp_151
Temp variable: tmp_151
Function name: getInterestOwed
checking tmp_151
High Call: isSynth
TMP_151
TMP_151
Finding type for hlc_3...
[*]Type fetched successfully
[i]Type for TMP_151
Num:
-1
Den:
-1
Norm:
1
done.
CONDITION TMP_151
Condition...
Conidtion: 
TMP_151
TMP_151
typecheckig node...
typecheckig node...
TMP_152(uint256) = INTERNAL_CALL, Utils.calcValueOfTokenInToken(address,uint256,address)(debtAsset,_interestPayment,collateralAsset)
Internal call...
calcValueOfTokenInToken
debtAsset
_interestPayment
collateralAsset
Function: calcValueOfTokenInToken
checking tmp_152
Temp variable: tmp_152
Function name: getInterestOwed
checking tmp_152
[i]Type for TMP_152
Num:
Den:
Norm:
1
done.
interestOwed(uint256) := TMP_152(uint256)
checking interestowed
Local variable: interestowed
Function name: getInterestOwed
checking interestowed
[i]Type for interestOwed
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
typecheckig node...
TMP_149(uint256) = INTERNAL_CALL, Utils.calcValueInBase(address,uint256)(debtAsset,_interestPayment)
Internal call...
calcValueInBase
debtAsset
_interestPayment
Function: calcValueInBase
checking tmp_149
Temp variable: tmp_149
Function name: getInterestOwed
checking tmp_149
[i]Type for TMP_149
Num:
Den:
Norm:
1
done.
interestOwed(uint256) := TMP_149(uint256)
checking interestowed
Local variable: interestowed
Function name: getInterestOwed
checking interestowed
[i]Type for interestOwed
Num:
Den:
Norm:
1
done.
[x]node added back
Reading Function: getInterestPayment
Function name: getInterestPayment
Function Visibility: public
Finding type for collateralAsset...
[*]Type fetched successfully
Finding type for debtAsset...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [2]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_153(uint256) = INTERNAL_CALL, Utils.getDebtLoading(address,address)(collateralAsset,debtAsset)
Internal call...
getDebtLoading
collateralAsset
debtAsset
Function: getDebtLoading
checking tmp_153
Temp variable: tmp_153
Function name: getInterestPayment
checking tmp_153
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [2]
    den: [-1]
[i]Type for TMP_153
Num:
Den:
Norm:
1
done.
_debtLoading(uint256) := TMP_153(uint256)
checking _debtloading
Local variable: _debtloading
Function name: getInterestPayment
checking _debtloading
[i]Type for _debtLoading
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_154 = CONVERT ROUTER to iROUTER
checking tmp_154
Temp variable: tmp_154
Function name: getInterestPayment
checking tmp_154
[i]Type for TMP_154
Num:
Den:
Norm:
1
done.
TMP_155(uint256) = HIGH_LEVEL_CALL, dest:TMP_154(iROUTER), function:getSystemDebt, arguments:['collateralAsset', 'debtAsset']  
High Level Call: getsystemdebt
checking tmp_155
Temp variable: tmp_155
Function name: getInterestPayment
checking tmp_155
High Call: getSystemDebt
TMP_155
TMP_155
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_155
Num:
2
Den:
-1
Norm:
1
done.
TMP_156(uint256) = _debtLoading (c)* TMP_155
checking tmp_156
Temp variable: tmp_156
Function name: getInterestPayment
checking tmp_156
testing mul...
[i]Type for TMP_156
Num:
Den:
Norm:
1
done.
TMP_157(uint256) = TMP_156 (c)/ 10000
checking tmp_157
Temp variable: tmp_157
Function name: getInterestPayment
checking tmp_157
Constatn varible: 10000
testing mul...
[i]Type for TMP_157
Num:
Den:
Norm:
1
done.
RETURN TMP_157
Return...
[x]node added back
Reading Function: getDebtLoading
Function name: getDebtLoading
Function Visibility: public
Finding type for collateralAsset...
[*]Type fetched successfully
Finding type for debtAsset...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [2]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_158 = CONVERT ROUTER to iROUTER
checking tmp_158
Temp variable: tmp_158
Function name: getDebtLoading
checking tmp_158
[i]Type for TMP_158
Num:
Den:
Norm:
1
done.
TMP_159(uint256) = HIGH_LEVEL_CALL, dest:TMP_158(iROUTER), function:getSystemDebt, arguments:['collateralAsset', 'debtAsset']  
High Level Call: getsystemdebt
checking tmp_159
Temp variable: tmp_159
Function name: getDebtLoading
checking tmp_159
High Call: getSystemDebt
TMP_159
TMP_159
Finding type for hlc_0...
[*]Type fetched successfully
[i]Type for TMP_159
Num:
1
Den:
-1
Norm:
1
done.
_debtIssued(uint256) := TMP_159(uint256)
checking _debtissued
Local variable: _debtissued
Function name: getDebtLoading
checking _debtissued
[i]Type for _debtIssued
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_160 = CONVERT POOLS to iPOOLS
checking tmp_160
Temp variable: tmp_160
Function name: getDebtLoading
checking tmp_160
[i]Type for TMP_160
Num:
Den:
Norm:
1
done.
TMP_161(uint256) = HIGH_LEVEL_CALL, dest:TMP_160(iPOOLS), function:getTokenAmount, arguments:['debtAsset']  
High Level Call: gettokenamount
checking tmp_161
Temp variable: tmp_161
Function name: getDebtLoading
checking tmp_161
High Call: getTokenAmount
TMP_161
TMP_161
Finding type for hlc_1...
[*]Type fetched successfully
[i]Type for TMP_161
Num:
1
Den:
-1
Norm:
1
done.
_debtDepth(uint256) := TMP_161(uint256)
checking _debtdepth
Local variable: _debtdepth
Function name: getDebtLoading
checking _debtdepth
[i]Type for _debtDepth
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_162(uint256) = _debtIssued (c)* 10000
checking tmp_162
Temp variable: tmp_162
Function name: getDebtLoading
checking tmp_162
Constatn varible: 10000
testing mul...
[i]Type for TMP_162
Num:
1
Den:
-1
Norm:
1
done.
TMP_163(uint256) = TMP_162 (c)/ _debtDepth
checking tmp_163
Temp variable: tmp_163
Function name: getDebtLoading
checking tmp_163
testing mul...
[i]Type for TMP_163
Num:
1
Den:
-1
Norm:
1
done.
RETURN TMP_163
Return...
[x]node added back
Reading Function: calcPart
Function name: calcPart
Function Visibility: public
Finding type for bp...
[*]Type fetched successfully
Finding type for total...
[*]Type fetched successfully
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_164(bool) = bp <= 10000
checking tmp_164
Temp variable: tmp_164
Function name: calcPart
checking tmp_164
Constatn varible: 10000
testing lt...
[i]Type for TMP_164
Num:
-1
Den:
Norm:
1
done.
TMP_165(bool) = bp >= 0
checking tmp_165
Temp variable: tmp_165
Function name: calcPart
checking tmp_165
Constatn varible: 0
testing gt...
[i]Type for TMP_165
Num:
-1
Den:
Norm:
1
done.
TMP_166(bool) = TMP_164 && TMP_165
checking tmp_166
Temp variable: tmp_166
Function name: calcPart
checking tmp_166
[i]Type for TMP_166
Num:
Den:
Norm:
1
done.
TMP_167(None) = SOLIDITY_CALL require(bool,string)(TMP_166,Must be correct BP)
checking tmp_167
Temp variable: tmp_167
Function name: calcPart
checking tmp_167
[i]Type for TMP_167
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_168(uint256) = INTERNAL_CALL, Utils.calcShare(uint256,uint256,uint256)(bp,10000,total)
Internal call...
calcShare
bp
10000
total
Function: calcShare
checking tmp_168
Temp variable: tmp_168
Function name: calcPart
checking tmp_168
Constatn varible: 10000
Internal cal param_cache
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: []
    den: []
Param: 2
    num: [-1]
    den: [-1]
added
Function name: calcShare
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
[i]Type for TMP_169
Num:
-2
-1
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
[x]node added back
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
[i]Type for part
Num:
-1
Den:
-1
Norm:
1
done.
[x]node added back
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
[x]node added back
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
Error with: TMP_171
[i]Type for TMP_171
Num:
-2
-1
Den:
-1
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
[i]Type for TMP_172
Num:
-2
Den:
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
[i]Type for share
Num:
-2
Den:
Norm:
1
done.
[x]node added back
Checking return value
Error with: TMP_168
[i]Type for TMP_168
Num:
-2
Den:
Norm:
1
done.
RETURN TMP_168
Return...
[x]node added back
Reading Function: calcShare
Function name: calcShare
Function Visibility: public
Finding type for part...
[*]Type fetched successfully
Finding type for total...
[*]Type fetched successfully
Finding type for amount...
[*]Type fetched successfully
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [-1]
    den: [-1]
Param: 2
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_169(bool) = part > total
checking tmp_169
Temp variable: tmp_169
Function name: calcShare
checking tmp_169
testing gt...
[i]Type for TMP_169
Num:
-2
-1
Den:
Norm:
1
done.
CONDITION TMP_169
Condition...
Conidtion: 
TMP_169
TMP_169
typecheckig node...
part(uint256) := total(uint256)
checking part
Local variable: part
Function name: calcShare
checking part
[i]Type for part
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_170(bool) = total > 0
checking tmp_170
Temp variable: tmp_170
Function name: calcShare
checking tmp_170
Constatn varible: 0
testing gt...
[i]Type for TMP_170
Num:
Den:
Norm:
1
done.
CONDITION TMP_170
Condition...
Conidtion: 
TMP_170
TMP_170
[x]node added back
typecheckig node...
typecheckig node...
TMP_171(uint256) = amount (c)* part
checking tmp_171
Temp variable: tmp_171
Function name: calcShare
checking tmp_171
testing mul...
Error with: TMP_171
[i]Type for TMP_171
Num:
-2
-1
Den:
-1
Norm:
1
done.
TMP_172(uint256) = TMP_171 (c)/ total
checking tmp_172
Temp variable: tmp_172
Function name: calcShare
checking tmp_172
testing mul...
Error with: TMP_172
[i]Type for TMP_172
Num:
-2
-1
Den:
-1
Norm:
1
done.
share(uint256) := TMP_172(uint256)
checking share
Local variable: share
Function name: calcShare
checking share
Error with: share
[i]Type for share
Num:
-2
Den:
Norm:
1
done.
Reading Function: calcSwapOutput
Function name: calcSwapOutput
Function Visibility: public
Finding type for x...
[*]Type fetched successfully
Finding type for X...
[*]Type fetched successfully
Finding type for Y...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1, 1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_173(uint256) = x (c)* X
checking tmp_173
Temp variable: tmp_173
Function name: calcSwapOutput
checking tmp_173
testing mul...
Error with: TMP_173
[i]Type for TMP_173
Num:
-2
-1
1
Den:
-1
Norm:
1
done.
TMP_174(uint256) = TMP_173 (c)* Y
checking tmp_174
Temp variable: tmp_174
Function name: calcSwapOutput
checking tmp_174
testing mul...
Error with: TMP_174
[i]Type for TMP_174
Num:
-2
1
Den:
-1
Norm:
1
done.
numerator(uint256) := TMP_174(uint256)
checking numerator
Local variable: numerator
Function name: calcSwapOutput
checking numerator
Error with: numerator
[i]Type for numerator
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_175(uint256) = x (c)+ X
checking tmp_175
Temp variable: tmp_175
Function name: calcSwapOutput
checking tmp_175
Error with: TMP_175
[i]Type for TMP_175
Num:
-2
Den:
Norm:
1
done.
TMP_176(uint256) = x (c)+ X
checking tmp_176
Temp variable: tmp_176
Function name: calcSwapOutput
checking tmp_176
Error with: TMP_176
[i]Type for TMP_176
Num:
-2
Den:
Norm:
1
done.
TMP_177(uint256) = TMP_175 (c)* TMP_176
checking tmp_177
Temp variable: tmp_177
Function name: calcSwapOutput
checking tmp_177
testing mul...
[i]Type for TMP_177
Num:
-2
Den:
Norm:
1
done.
denominator(uint256) := TMP_177(uint256)
checking denominator
Local variable: denominator
Function name: calcSwapOutput
checking denominator
[i]Type for denominator
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_178(uint256) = numerator (c)/ denominator
checking tmp_178
Temp variable: tmp_178
Function name: calcSwapOutput
checking tmp_178
testing mul...
Error with: TMP_178
[i]Type for TMP_178
Num:
-1
Den:
Norm:
1
done.
RETURN TMP_178
Return...
Reading Function: calcSwapFee
Function name: calcSwapFee
Function Visibility: external
Finding type for x...
[*]Type fetched successfully
Finding type for X...
[*]Type fetched successfully
Finding type for Y...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_179(uint256) = x (c)* x
checking tmp_179
Temp variable: tmp_179
Function name: calcSwapFee
checking tmp_179
testing mul...
[i]Type for TMP_179
Num:
1
Den:
-1
Norm:
1
done.
TMP_180(uint256) = TMP_179 (c)* Y
checking tmp_180
Temp variable: tmp_180
Function name: calcSwapFee
checking tmp_180
testing mul...
[i]Type for TMP_180
Num:
1
Den:
-1
Norm:
1
done.
numerator(uint256) := TMP_180(uint256)
checking numerator
Local variable: numerator
Function name: calcSwapFee
checking numerator
[i]Type for numerator
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_181(uint256) = x (c)+ X
checking tmp_181
Temp variable: tmp_181
Function name: calcSwapFee
checking tmp_181
[i]Type for TMP_181
Num:
1
Den:
-1
Norm:
1
done.
TMP_182(uint256) = x (c)+ X
checking tmp_182
Temp variable: tmp_182
Function name: calcSwapFee
checking tmp_182
[i]Type for TMP_182
Num:
1
Den:
-1
Norm:
1
done.
TMP_183(uint256) = TMP_181 (c)* TMP_182
checking tmp_183
Temp variable: tmp_183
Function name: calcSwapFee
checking tmp_183
testing mul...
[i]Type for TMP_183
Num:
1
Den:
-1
Norm:
1
done.
denominator(uint256) := TMP_183(uint256)
checking denominator
Local variable: denominator
Function name: calcSwapFee
checking denominator
[i]Type for denominator
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_184(uint256) = numerator (c)/ denominator
checking tmp_184
Temp variable: tmp_184
Function name: calcSwapFee
checking tmp_184
testing mul...
[i]Type for TMP_184
Num:
1
Den:
-1
Norm:
1
done.
RETURN TMP_184
Return...
Reading Function: calcSwapSlip
Function name: calcSwapSlip
Function Visibility: external
Finding type for x...
[*]Type fetched successfully
Finding type for X...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_185(uint256) = x (c)* 10000
checking tmp_185
Temp variable: tmp_185
Function name: calcSwapSlip
checking tmp_185
Constatn varible: 10000
testing mul...
[i]Type for TMP_185
Num:
1
Den:
-1
Norm:
1
done.
TMP_186(uint256) = x (c)+ X
checking tmp_186
Temp variable: tmp_186
Function name: calcSwapSlip
checking tmp_186
[i]Type for TMP_186
Num:
1
Den:
-1
Norm:
1
done.
TMP_187(uint256) = TMP_185 (c)/ TMP_186
checking tmp_187
Temp variable: tmp_187
Function name: calcSwapSlip
checking tmp_187
testing mul...
[i]Type for TMP_187
Num:
1
Den:
-1
Norm:
1
done.
RETURN TMP_187
Return...
Reading Function: calcLiquidityUnits
Function name: calcLiquidityUnits
Function Visibility: external
Finding type for b...
[*]Type fetched successfully
Finding type for B...
[*]Type fetched successfully
Finding type for t...
[*]Type fetched successfully
Finding type for T...
[*]Type fetched successfully
Finding type for P...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
Param: 3
    num: [1]
    den: [-1]
Param: 4
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_188(bool) = P == 0
checking tmp_188
Temp variable: tmp_188
Function name: calcLiquidityUnits
checking tmp_188
[i]Type for TMP_188
Num:
Den:
Norm:
1
done.
CONDITION TMP_188
Condition...
Conidtion: 
TMP_188
TMP_188
typecheckig node...
RETURN b
Return...
typecheckig node...
TMP_189(uint256) = INTERNAL_CALL, Utils.getSlipAdustment(uint256,uint256,uint256,uint256)(b,B,t,T)
Internal call...
getSlipAdustment
b
B
t
T
Function: getSlipAdustment
checking tmp_189
Temp variable: tmp_189
Function name: calcLiquidityUnits
checking tmp_189
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
Param: 3
    num: [1]
    den: [-1]
added
Function name: getSlipAdustment
Function Visibility: public
typecheckig node...
typecheckig node...
TMP_199(uint256) = B (c)* t
checking tmp_199
Temp variable: tmp_199
Function name: getSlipAdustment
checking tmp_199
testing mul...
[i]Type for TMP_199
Num:
1
Den:
-1
Norm:
1
done.
part1(uint256) := TMP_199(uint256)
checking part1
Local variable: part1
Function name: getSlipAdustment
checking part1
[i]Type for part1
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_200(uint256) = b (c)* T
checking tmp_200
Temp variable: tmp_200
Function name: getSlipAdustment
checking tmp_200
testing mul...
[i]Type for TMP_200
Num:
1
Den:
-1
Norm:
1
done.
part2(uint256) := TMP_200(uint256)
checking part2
Local variable: part2
Function name: getSlipAdustment
checking part2
[i]Type for part2
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_201(uint256) = b (c)* 2
checking tmp_201
Temp variable: tmp_201
Function name: getSlipAdustment
checking tmp_201
Constatn varible: 2
testing mul...
[i]Type for TMP_201
Num:
1
Den:
-1
Norm:
1
done.
TMP_202(uint256) = TMP_201 (c)+ B
checking tmp_202
Temp variable: tmp_202
Function name: getSlipAdustment
checking tmp_202
[i]Type for TMP_202
Num:
1
Den:
-1
Norm:
1
done.
part3(uint256) := TMP_202(uint256)
checking part3
Local variable: part3
Function name: getSlipAdustment
checking part3
[i]Type for part3
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_203(uint256) = t (c)+ T
checking tmp_203
Temp variable: tmp_203
Function name: getSlipAdustment
checking tmp_203
[i]Type for TMP_203
Num:
1
Den:
-1
Norm:
1
done.
part4(uint256) := TMP_203(uint256)
checking part4
Local variable: part4
Function name: getSlipAdustment
checking part4
[i]Type for part4
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_204(bool) = part1 > part2
checking tmp_204
Temp variable: tmp_204
Function name: getSlipAdustment
checking tmp_204
testing gt...
[i]Type for TMP_204
Num:
-1
Den:
Norm:
1
done.
CONDITION TMP_204
Condition...
Conidtion: 
TMP_204
TMP_204
typecheckig node...
TMP_205(uint256) = part1 (c)- part2
checking tmp_205
Temp variable: tmp_205
Function name: getSlipAdustment
checking tmp_205
L
R
[i]Type for TMP_205
Num:
1
Den:
-1
Norm:
1
done.
numerator(uint256) := TMP_205(uint256)
checking numerator
Local variable: numerator
Function name: getSlipAdustment
checking numerator
[i]Type for numerator
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_207(uint256) = part3 (c)* part4
checking tmp_207
Temp variable: tmp_207
Function name: getSlipAdustment
checking tmp_207
testing mul...
[i]Type for TMP_207
Num:
1
Den:
-1
Norm:
1
done.
denominator(uint256) := TMP_207(uint256)
checking denominator
Local variable: denominator
Function name: getSlipAdustment
checking denominator
[i]Type for denominator
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_206(uint256) = part2 (c)- part1
checking tmp_206
Temp variable: tmp_206
Function name: getSlipAdustment
checking tmp_206
L
R
[i]Type for TMP_206
Num:
1
Den:
-1
Norm:
1
done.
numerator(uint256) := TMP_206(uint256)
checking numerator
Local variable: numerator
Function name: getSlipAdustment
checking numerator
[i]Type for numerator
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_208(uint256) = numerator (c)* one
checking tmp_208
Temp variable: tmp_208
Function name: getSlipAdustment
checking tmp_208
testing mul...
[i]Type for TMP_208
Num:
1
-1
Den:
-1
Norm:
1
done.
TMP_209(uint256) = TMP_208 (c)/ denominator
checking tmp_209
Temp variable: tmp_209
Function name: getSlipAdustment
checking tmp_209
testing mul...
[i]Type for TMP_209
Num:
-1
1
Den:
-1
Norm:
1
done.
TMP_210(uint256) = one (c)- TMP_209
checking tmp_210
Temp variable: tmp_210
Function name: getSlipAdustment
checking tmp_210
L
R
Error with: TMP_210
[i]Type for TMP_210
Num:
-2
Den:
Norm:
1
done.
RETURN TMP_210
Return...
Checking return value
[i]Type for TMP_189
Num:
Den:
Norm:
1
done.
slipAdjustment(uint256) := TMP_189(uint256)
checking slipadjustment
Local variable: slipadjustment
Function name: calcLiquidityUnits
checking slipadjustment
[i]Type for slipAdjustment
Num:
Den:
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_190(uint256) = t (c)* B
checking tmp_190
Temp variable: tmp_190
Function name: calcLiquidityUnits
checking tmp_190
testing mul...
[i]Type for TMP_190
Num:
1
Den:
-1
Norm:
1
done.
part1(uint256) := TMP_190(uint256)
checking part1
Local variable: part1
Function name: calcLiquidityUnits
checking part1
[i]Type for part1
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_191(uint256) = T (c)* b
checking tmp_191
Temp variable: tmp_191
Function name: calcLiquidityUnits
checking tmp_191
testing mul...
[i]Type for TMP_191
Num:
1
Den:
-1
Norm:
1
done.
part2(uint256) := TMP_191(uint256)
checking part2
Local variable: part2
Function name: calcLiquidityUnits
checking part2
[i]Type for part2
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_192(uint256) = T (c)* B
checking tmp_192
Temp variable: tmp_192
Function name: calcLiquidityUnits
checking tmp_192
testing mul...
[i]Type for TMP_192
Num:
1
Den:
-1
Norm:
1
done.
TMP_193(uint256) = TMP_192 (c)* 2
checking tmp_193
Temp variable: tmp_193
Function name: calcLiquidityUnits
checking tmp_193
Constatn varible: 2
testing mul...
[i]Type for TMP_193
Num:
1
Den:
-1
Norm:
1
done.
part3(uint256) := TMP_193(uint256)
checking part3
Local variable: part3
Function name: calcLiquidityUnits
checking part3
[i]Type for part3
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_194(uint256) = P (c)* part1
checking tmp_194
Temp variable: tmp_194
Function name: calcLiquidityUnits
checking tmp_194
testing mul...
[i]Type for TMP_194
Num:
-1
1
Den:
-1
Norm:
1
done.
TMP_195(uint256) = TMP_194 (c)+ part2
checking tmp_195
Temp variable: tmp_195
Function name: calcLiquidityUnits
checking tmp_195
Error with: TMP_195
[i]Type for TMP_195
Num:
-2
Den:
Norm:
1
done.
TMP_196(uint256) = TMP_195 (c)/ part3
checking tmp_196
Temp variable: tmp_196
Function name: calcLiquidityUnits
checking tmp_196
testing mul...
[i]Type for TMP_196
Num:
-2
Den:
Norm:
1
done.
_units(uint256) := TMP_196(uint256)
checking _units
Local variable: _units
Function name: calcLiquidityUnits
checking _units
[i]Type for _units
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_197(uint256) = _units (c)* slipAdjustment
checking tmp_197
Temp variable: tmp_197
Function name: calcLiquidityUnits
checking tmp_197
testing mul...
[i]Type for TMP_197
Num:
Den:
Norm:
1
done.
TMP_198(uint256) = TMP_197 (c)/ one
checking tmp_198
Temp variable: tmp_198
Function name: calcLiquidityUnits
checking tmp_198
testing mul...
[i]Type for TMP_198
Num:
Den:
Norm:
1
done.
RETURN TMP_198
Return...
[x]node added back
Reading Function: getSlipAdustment
Function name: getSlipAdustment
Function Visibility: public
Finding type for b...
[*]Type fetched successfully
Finding type for B...
[*]Type fetched successfully
Finding type for t...
[*]Type fetched successfully
Finding type for T...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [1]
    den: [-1]
Param: 3
    num: [1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_199(uint256) = B (c)* t
checking tmp_199
Temp variable: tmp_199
Function name: getSlipAdustment
checking tmp_199
testing mul...
[i]Type for TMP_199
Num:
1
Den:
-1
Norm:
1
done.
part1(uint256) := TMP_199(uint256)
checking part1
Local variable: part1
Function name: getSlipAdustment
checking part1
[i]Type for part1
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_200(uint256) = b (c)* T
checking tmp_200
Temp variable: tmp_200
Function name: getSlipAdustment
checking tmp_200
testing mul...
[i]Type for TMP_200
Num:
1
Den:
-1
Norm:
1
done.
part2(uint256) := TMP_200(uint256)
checking part2
Local variable: part2
Function name: getSlipAdustment
checking part2
[i]Type for part2
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_201(uint256) = b (c)* 2
checking tmp_201
Temp variable: tmp_201
Function name: getSlipAdustment
checking tmp_201
Constatn varible: 2
testing mul...
[i]Type for TMP_201
Num:
1
Den:
-1
Norm:
1
done.
TMP_202(uint256) = TMP_201 (c)+ B
checking tmp_202
Temp variable: tmp_202
Function name: getSlipAdustment
checking tmp_202
[i]Type for TMP_202
Num:
1
Den:
-1
Norm:
1
done.
part3(uint256) := TMP_202(uint256)
checking part3
Local variable: part3
Function name: getSlipAdustment
checking part3
[i]Type for part3
Num:
1
Den:
-1
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_203(uint256) = t (c)+ T
checking tmp_203
Temp variable: tmp_203
Function name: getSlipAdustment
checking tmp_203
[i]Type for TMP_203
Num:
1
Den:
-1
Norm:
1
done.
part4(uint256) := TMP_203(uint256)
checking part4
Local variable: part4
Function name: getSlipAdustment
checking part4
[i]Type for part4
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_204(bool) = part1 > part2
checking tmp_204
Temp variable: tmp_204
Function name: getSlipAdustment
checking tmp_204
testing gt...
[i]Type for TMP_204
Num:
Den:
Norm:
1
done.
CONDITION TMP_204
Condition...
Conidtion: 
TMP_204
TMP_204
typecheckig node...
TMP_205(uint256) = part1 (c)- part2
checking tmp_205
Temp variable: tmp_205
Function name: getSlipAdustment
checking tmp_205
L
R
[i]Type for TMP_205
Num:
1
Den:
-1
Norm:
1
done.
numerator(uint256) := TMP_205(uint256)
checking numerator
Local variable: numerator
Function name: getSlipAdustment
checking numerator
[i]Type for numerator
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
typecheckig node...
TMP_207(uint256) = part3 (c)* part4
checking tmp_207
Temp variable: tmp_207
Function name: getSlipAdustment
checking tmp_207
testing mul...
[i]Type for TMP_207
Num:
1
Den:
-1
Norm:
1
done.
denominator(uint256) := TMP_207(uint256)
checking denominator
Local variable: denominator
Function name: getSlipAdustment
checking denominator
[i]Type for denominator
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_206(uint256) = part2 (c)- part1
checking tmp_206
Temp variable: tmp_206
Function name: getSlipAdustment
checking tmp_206
L
R
[i]Type for TMP_206
Num:
1
Den:
-1
Norm:
1
done.
numerator(uint256) := TMP_206(uint256)
checking numerator
Local variable: numerator
Function name: getSlipAdustment
checking numerator
[i]Type for numerator
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_208(uint256) = numerator (c)* one
checking tmp_208
Temp variable: tmp_208
Function name: getSlipAdustment
checking tmp_208
testing mul...
Error with: TMP_208
[i]Type for TMP_208
Num:
-2
-1
Den:
-1
Norm:
1
done.
TMP_209(uint256) = TMP_208 (c)/ denominator
checking tmp_209
Temp variable: tmp_209
Function name: getSlipAdustment
checking tmp_209
testing mul...
Error with: TMP_209
[i]Type for TMP_209
Num:
-2
Den:
Norm:
1
done.
TMP_210(uint256) = one (c)- TMP_209
checking tmp_210
Temp variable: tmp_210
Function name: getSlipAdustment
checking tmp_210
L
R
Error with: TMP_210
[i]Type for TMP_210
Num:
-2
Den:
Norm:
1
done.
RETURN TMP_210
Return...
Reading Function: calcSynthUnits
Function name: calcSynthUnits
Function Visibility: external
Finding type for b...
[*]Type fetched successfully
Finding type for B...
[*]Type fetched successfully
Finding type for P...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [-1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_211(uint256) = P (c)* b
checking tmp_211
Temp variable: tmp_211
Function name: calcSynthUnits
checking tmp_211
testing mul...
[i]Type for TMP_211
Num:
-1
1
Den:
-1
Norm:
1
done.
TMP_212(uint256) = b (c)+ B
checking tmp_212
Temp variable: tmp_212
Function name: calcSynthUnits
checking tmp_212
[i]Type for TMP_212
Num:
1
Den:
-1
Norm:
1
done.
TMP_213(uint256) = 2 (c)* TMP_212
checking tmp_213
Temp variable: tmp_213
Function name: calcSynthUnits
checking tmp_213
Constatn varible: 2
testing mul...
[i]Type for TMP_213
Num:
1
Den:
-1
Norm:
1
done.
TMP_214(uint256) = TMP_211 (c)/ TMP_213
checking tmp_214
Temp variable: tmp_214
Function name: calcSynthUnits
checking tmp_214
testing mul...
[i]Type for TMP_214
Num:
-1
1
Den:
-1
Norm:
1
done.
RETURN TMP_214
Return...
Reading Function: calcAsymmetricShare
Function name: calcAsymmetricShare
Function Visibility: public
Finding type for u...
[*]Type fetched successfully
Finding type for U...
[*]Type fetched successfully
Finding type for A...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [-1, 1]
    den: [-1]
Param: 2
    num: [1, -1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_215(uint256) = u (c)* A
checking tmp_215
Temp variable: tmp_215
Function name: calcAsymmetricShare
checking tmp_215
testing mul...
[i]Type for TMP_215
Num:
1
-1
Den:
-1
Norm:
1
done.
part1(uint256) := TMP_215(uint256)
checking part1
Local variable: part1
Function name: calcAsymmetricShare
checking part1
Error with: part1
[i]Type for part1
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_216(uint256) = U (c)* U
checking tmp_216
Temp variable: tmp_216
Function name: calcAsymmetricShare
checking tmp_216
testing mul...
Error with: TMP_216
[i]Type for TMP_216
Num:
-2
-1
1
Den:
-1
Norm:
1
done.
TMP_217(uint256) = TMP_216 (c)* 2
checking tmp_217
Temp variable: tmp_217
Function name: calcAsymmetricShare
checking tmp_217
Constatn varible: 2
testing mul...
[i]Type for TMP_217
Num:
-1
Den:
-1
Norm:
1
done.
part2(uint256) := TMP_217(uint256)
checking part2
Local variable: part2
Function name: calcAsymmetricShare
checking part2
[i]Type for part2
Num:
-1
Den:
-1
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_218(uint256) = U (c)* u
checking tmp_218
Temp variable: tmp_218
Function name: calcAsymmetricShare
checking tmp_218
testing mul...
[i]Type for TMP_218
Num:
-1
1
Den:
-1
Norm:
1
done.
TMP_219(uint256) = TMP_218 (c)* 2
checking tmp_219
Temp variable: tmp_219
Function name: calcAsymmetricShare
checking tmp_219
Constatn varible: 2
testing mul...
[i]Type for TMP_219
Num:
-1
1
Den:
-1
Norm:
1
done.
part3(uint256) := TMP_219(uint256)
checking part3
Local variable: part3
Function name: calcAsymmetricShare
checking part3
[i]Type for part3
Num:
-1
1
Den:
-1
Norm:
1
done.
[x]node added back
typecheckig node...
TMP_220(uint256) = u (c)* u
checking tmp_220
Temp variable: tmp_220
Function name: calcAsymmetricShare
checking tmp_220
testing mul...
[i]Type for TMP_220
Num:
1
Den:
-1
Norm:
1
done.
part4(uint256) := TMP_220(uint256)
checking part4
Local variable: part4
Function name: calcAsymmetricShare
checking part4
[i]Type for part4
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_221(uint256) = part1 (c)* part2
checking tmp_221
Temp variable: tmp_221
Function name: calcAsymmetricShare
checking tmp_221
testing mul...
Error with: TMP_221
[i]Type for TMP_221
Num:
-2
-1
Den:
-1
Norm:
1
done.
TMP_222(uint256) = TMP_221 (c)- part3
checking tmp_222
Temp variable: tmp_222
Function name: calcAsymmetricShare
checking tmp_222
L
R
Error with: TMP_222
[i]Type for TMP_222
Num:
-2
Den:
Norm:
1
done.
TMP_223(uint256) = TMP_222 (c)+ part4
checking tmp_223
Temp variable: tmp_223
Function name: calcAsymmetricShare
checking tmp_223
Error with: TMP_223
[i]Type for TMP_223
Num:
-2
Den:
Norm:
1
done.
numerator(uint256) := TMP_223(uint256)
checking numerator
Local variable: numerator
Function name: calcAsymmetricShare
checking numerator
[i]Type for numerator
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_224(uint256) = U (c)* U
checking tmp_224
Temp variable: tmp_224
Function name: calcAsymmetricShare
checking tmp_224
testing mul...
Error with: TMP_224
[i]Type for TMP_224
Num:
-2
-1
1
Den:
-1
Norm:
1
done.
TMP_225(uint256) = TMP_224 (c)* U
checking tmp_225
Temp variable: tmp_225
Function name: calcAsymmetricShare
checking tmp_225
testing mul...
Error with: TMP_225
[i]Type for TMP_225
Num:
-2
-1
1
Den:
-1
Norm:
1
done.
part5(uint256) := TMP_225(uint256)
checking part5
Local variable: part5
Function name: calcAsymmetricShare
checking part5
Error with: part5
[i]Type for part5
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_226(uint256) = numerator (c)/ part5
checking tmp_226
Temp variable: tmp_226
Function name: calcAsymmetricShare
checking tmp_226
testing mul...
Error with: TMP_226
[i]Type for TMP_226
Num:
-1
Den:
Norm:
1
done.
RETURN TMP_226
Return...
Reading Function: calcCoverage
Function name: calcCoverage
Function Visibility: public
Finding type for B0...
[*]Type fetched successfully
Finding type for T0...
[*]Type fetched successfully
Finding type for B1...
[*]Type fetched successfully
Finding type for T1...
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
Param: 2
    num: [-2, 1]
    den: [-1]
Param: 3
    num: [-2, 1]
    den: [-1]
typecheckig node...
typecheckig node...
TMP_227(bool) = B0 > 0
checking tmp_227
Temp variable: tmp_227
Function name: calcCoverage
checking tmp_227
Constatn varible: 0
testing gt...
[i]Type for TMP_227
Num:
-1
Den:
Norm:
1
done.
TMP_228(bool) = T1 > 0
checking tmp_228
Temp variable: tmp_228
Function name: calcCoverage
checking tmp_228
Constatn varible: 0
testing gt...
[i]Type for TMP_228
Num:
-1
Den:
Norm:
1
done.
TMP_229(bool) = TMP_227 && TMP_228
checking tmp_229
Temp variable: tmp_229
Function name: calcCoverage
checking tmp_229
[i]Type for TMP_229
Num:
Den:
Norm:
1
done.
CONDITION TMP_229
Condition...
Conidtion: 
TMP_229
TMP_229
[x]node added back
typecheckig node...
typecheckig node...
TMP_230(uint256) = T0 (c)* B1
checking tmp_230
Temp variable: tmp_230
Function name: calcCoverage
checking tmp_230
testing mul...
Error with: TMP_230
[i]Type for TMP_230
Num:
-2
1
Den:
-1
Norm:
1
done.
TMP_231(uint256) = TMP_230 (c)/ T1
checking tmp_231
Temp variable: tmp_231
Function name: calcCoverage
checking tmp_231
testing mul...
Error with: TMP_231
[i]Type for TMP_231
Num:
-1
Den:
Norm:
1
done.
TMP_232(uint256) = B0 (c)+ TMP_231
checking tmp_232
Temp variable: tmp_232
Function name: calcCoverage
checking tmp_232
[i]Type for TMP_232
Num:
1
Den:
-1
Norm:
1
done.
_depositValue(uint256) := TMP_232(uint256)
checking _depositvalue
Local variable: _depositvalue
Function name: calcCoverage
checking _depositvalue
[i]Type for _depositValue
Num:
1
Den:
-1
Norm:
1
done.
typecheckig node...
TMP_233(uint256) = T1 (c)* B1
checking tmp_233
Temp variable: tmp_233
Function name: calcCoverage
checking tmp_233
testing mul...
Error with: TMP_233
[i]Type for TMP_233
Num:
-2
1
Den:
-1
Norm:
1
done.
TMP_234(uint256) = TMP_233 (c)/ T1
checking tmp_234
Temp variable: tmp_234
Function name: calcCoverage
checking tmp_234
testing mul...
Error with: TMP_234
[i]Type for TMP_234
Num:
-1
Den:
Norm:
1
done.
TMP_235(uint256) = B1 (c)+ TMP_234
checking tmp_235
Temp variable: tmp_235
Function name: calcCoverage
checking tmp_235
Error with: TMP_235
[i]Type for TMP_235
Num:
-2
Den:
Norm:
1
done.
_redemptionValue(uint256) := TMP_235(uint256)
checking _redemptionvalue
Local variable: _redemptionvalue
Function name: calcCoverage
checking _redemptionvalue
[i]Type for _redemptionValue
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
TMP_236(bool) = _redemptionValue <= _depositValue
checking tmp_236
Temp variable: tmp_236
Function name: calcCoverage
checking tmp_236
testing lt...
Error with: TMP_236
[i]Type for TMP_236
Num:
-2
Den:
Norm:
1
done.
CONDITION TMP_236
Condition...
Conidtion: 
TMP_236
TMP_236
typecheckig node...
TMP_237(uint256) = _depositValue (c)- _redemptionValue
checking tmp_237
Temp variable: tmp_237
Function name: calcCoverage
checking tmp_237
L
R
Error with: TMP_237
[i]Type for TMP_237
Num:
-2
Den:
Norm:
1
done.
coverage(uint256) := TMP_237(uint256)
checking coverage
Local variable: coverage
Function name: calcCoverage
checking coverage
[i]Type for coverage
Num:
-2
Den:
Norm:
1
done.
typecheckig node...
Reading Function: sortArray
[x] sortArray barred
wooo
Reading Function: slitherConstructorVariables
Function name: slitherConstructorVariables
Function Visibility: internal
typecheckig node...
TMP_244(uint256) = 10 (c)** 18
checking tmp_244
Temp variable: tmp_244
Function name: slitherConstructorVariables
checking tmp_244
[i]Type for TMP_244
Num:
Den:
Norm:
1
done.
one(uint256) := TMP_244(uint256)
checking one
State variable: one
Function name: slitherConstructorVariables
checking one
[i]Type for one
Num:
-1
Den:
-1
Norm:
1
done.
[x]node added back
typecheckig node...
_10k(uint256) := 10000(uint256)
checking _10k
State variable: _10k
Function name: slitherConstructorVariables
checking _10k
Constatn varible: 10000
[i]Type for _10k
Num:
-1
Den:
-1
Norm:
1
done.
typecheckig node...
_year(uint256) := 31536000(uint256)
checking _year
State variable: _year
Function name: slitherConstructorVariables
checking _year
Constatn varible: 31536000
[i]Type for _year
Num:
-1
Den:
-1
Norm:
1
done.
------
typecheckig node...
TMP_244(uint256) = 10 (c)** 18
checking tmp_244
Temp variable: tmp_244
checking tmp_244
[i]Type for TMP_244
Num:
Den:
Norm:
1
done.
one(uint256) := TMP_244(uint256)
checking one
State variable: one
checking one
[i]Type for one
Num:
-1
Den:
-1
Norm:
1
done.
[x]node added back
------
typecheckig node...
TMP_244(uint256) = 10 (c)** 18
checking tmp_244
Temp variable: tmp_244
checking tmp_244
[i]Type for TMP_244
Num:
Den:
Norm:
1
done.
one(uint256) := TMP_244(uint256)
checking one
State variable: one
checking one
[i]Type for one
Num:
-1
Den:
-1
Norm:
1
done.
[x]node added back
------
typecheckig node...
TMP_244(uint256) = 10 (c)** 18
checking tmp_244
Temp variable: tmp_244
checking tmp_244
[i]Type for TMP_244
Num:
Den:
Norm:
1
done.
one(uint256) := TMP_244(uint256)
checking one
State variable: one
checking one
[i]Type for one
Num:
-1
Den:
-1
Norm:
1
done.
[x]node added back
------
typecheckig node...
TMP_244(uint256) = 10 (c)** 18
checking tmp_244
Temp variable: tmp_244
checking tmp_244
[i]Type for TMP_244
Num:
Den:
Norm:
1
done.
one(uint256) := TMP_244(uint256)
checking one
State variable: one
checking one
[i]Type for one
Num:
-1
Den:
-1
Norm:
1
done.
[x]node added back
------
typecheckig node...
TMP_244(uint256) = 10 (c)** 18
checking tmp_244
Temp variable: tmp_244
checking tmp_244
[i]Type for TMP_244
Num:
Den:
Norm:
1
done.
one(uint256) := TMP_244(uint256)
checking one
State variable: one
checking one
[i]Type for one
Num:
-1
Den:
-1
Norm:
1
done.
[x]node added back
------
typecheckig node...
TMP_244(uint256) = 10 (c)** 18
checking tmp_244
Temp variable: tmp_244
checking tmp_244
[i]Type for TMP_244
Num:
Den:
Norm:
1
done.
one(uint256) := TMP_244(uint256)
checking one
State variable: one
checking one
[i]Type for one
Num:
-1
Den:
-1
Norm:
1
done.
[x]node added back
contract name: iERC20
iERC20_types.txt
Type File not found.
[x] iERC20 not run
contract name: iFACTORY
iFACTORY_types.txt
Type File not found.
[x] iFACTORY not run
contract name: iPOOLS
iPOOLS_types.txt
Type File not found.
[x] iPOOLS not run
contract name: iROUTER
iROUTER_types.txt
Type File not found.
[x] iROUTER not run
contract name: iSYNTH
iSYNTH_types.txt
Type File not found.
[x] iSYNTH not run
contract name: iVADER
iVADER_types.txt
Type File not found.
[x] iVADER not run
contract name: console
console_types.txt
Type File not found.
[x] console not run
