contract name: ExtendedIERC20
ExtendedIERC20_types.txt
Type File not found.
[x] ExtendedIERC20 not run
contract name: IController
IController_types.txt
Type File not found.
[x] IController not run
contract name: IManager
IManager_types.txt
Type File not found.
[x] IManager not run
contract name: SafeMath
SafeMath_types.txt
Type File not found.
[x] SafeMath not run
contract name: IERC20
IERC20_types.txt
Type File not found.
[x] IERC20 not run
contract name: Test
Test_types.txt
"Test_types.txt" opened successfully.
xcxcxcmanager
xcxcxcMAX
xcxcxchlc_0
xcxcxcref_0
xcxcxcref_1
xcxcxchlc_1
xcxcxchlc_0
xcxcxchlc_1
xcxcxchlc_1
xcxcxchlc_2
xcxcxc_shares
xcxcxc_output
xcxcxchlc_0
xcxcxchlc_1
xcxcxchlc_0
xcxcxchlc_1
xcxcxchlc_2
xcxcxchlc_3
xcxcxchlc_4
xcxcxchlc_5
xcxcxchlc_6
xcxcxc_token
xcxcxc_amount
[*] Test run
Checking... totalSupply
[x] No Binary
Checking... balance
[o] Marked
Checking... withdraw
[o] Marked
Checking... balanceOfThis
[o] Marked
Checking... _normalizeDecimals
[o] Marked
Checking... slitherConstructorConstantVariables
[x] No Binary
State_var: manager
Finding type for manager...
Num:
-1
Den:
-1
Norm:
0
[*]Type fetched successfully
State_var: manager
State_var: MAX
Finding type for MAX...
Num:
-1
Den:
-1
Norm:
4
[*]Type fetched successfully
State_var: manager
State_var: manager
State_var: MAX
State_var: manager
Reading Function: totalSupply
Function totalSupply not marked
Reading Function: balance
Function name: balance
Function Visibility: public
typecheckig node...
manager_1(IManager) := ϕ(['manager_13', 'manager_16', 'manager_10', 'manager_11', 'manager_0', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: balance
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
typecheckig node...
TMP_12(uint256) = INTERNAL_CALL, Test.balanceOfThis()()
Internal call...
balanceOfThis
Function: balanceOfThis
ic
Internal cal param_cache
added
Function name: balanceOfThis
Function Visibility: public
typecheckig node...
manager_12(IManager) := ϕ(['manager_13', 'manager_16', 'manager_10', 'manager_11', 'manager_0', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: balanceOfThis
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
typecheckig node...
TMP_44 = CONVERT this to address
checking tmp_44
Temp variable: tmp_44
Function name: balanceOfThis
checking tmp_44
[i]Type for TMP_44
Num:
Den:
Norm:
-100
done.
TMP_45(address[]) = HIGH_LEVEL_CALL, dest:manager_12(IManager), function:getTokens, arguments:['TMP_44']  
High Level Call: gettokens
checking tmp_45
Temp variable: tmp_45
Function name: balanceOfThis
High Call: getTokens
func name:getTokens
TMP_45
TMP_45
Finding type for hlc_0...
Num:
1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_45
Num:
1
Den:
-1
Norm:
0
done.
manager_13(IManager) := ϕ(['manager_13', 'manager_16', 'manager_12', 'manager_10', 'manager_11', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: balanceOfThis
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
_tokens_1(address[]) := TMP_45(address[])
checking _tokens
Local variable: _tokens
Function name: balanceOfThis
asgn
[i]Type for _tokens
Num:
1
Den:
-1
Norm:
0
done.
typecheckig node...
typecheckig node...
typecheckig node...
_balance_1(uint256) := ϕ(['_balance_2', '_balance_0'])
checking _balance
Local variable: _balance
Function name: balanceOfThis
Phi
[i]Type for _balance
Num:
Den:
Norm:
-100
done.
i_1(uint8) := ϕ(['i_0', 'i_2'])
checking i
Local variable: i
Function name: balanceOfThis
Phi
[i]Type for i
Num:
Den:
Norm:
-100
done.
REF_17 -> LENGTH _tokens_1
checking ref_17
Refernce variable: ref_17
Function name: balanceOfThis
checking ref_17
Refernce variable: ref_17
Ref: REF_17
Finding type for ref_0...
Num:
-1
Den:
-1
Norm:
0
[*]Type fetched successfully
TMP_46(bool) = i_1 < REF_17
checking tmp_46
Temp variable: tmp_46
Function name: balanceOfThis
testing lt...
[i]Type for TMP_46
Num:
-1
Den:
-1
Norm:
0
done.
CONDITION TMP_46
Condition...
Conidtion: 
TMP_46
TMP_46
[x]node added back
typecheckig node...
typecheckig node...
REF_18(address) -> _tokens_1[i_1]
checking ref_18
Refernce variable: ref_18
Function name: balanceOfThis
checking ref_18
Refernce variable: ref_18
Ref: REF_18
Finding type for ref_1...
Num:
1
Den:
-1
Norm:
0
[*]Type fetched successfully
_token_1(address) := REF_18(address)
checking _token
Local variable: _token
Function name: balanceOfThis
asgn
[i]Type for _token
Num:
1
Den:
-1
Norm:
0
done.
typecheckig node...
TMP_47 = CONVERT _token_1 to IERC20
checking tmp_47
Temp variable: tmp_47
Function name: balanceOfThis
checking tmp_47
[i]Type for TMP_47
Num:
Den:
Norm:
-100
done.
TMP_48 = CONVERT this to address
checking tmp_48
Temp variable: tmp_48
Function name: balanceOfThis
checking tmp_48
[i]Type for TMP_48
Num:
Den:
Norm:
-100
done.
TMP_49(uint256) = HIGH_LEVEL_CALL, dest:TMP_47(IERC20), function:balanceOf, arguments:['TMP_48']  
High Level Call: balanceof
checking tmp_49
Temp variable: tmp_49
Function name: balanceOfThis
High Call: balanceOf
func name:balanceOf
TMP_49
TMP_49
Finding type for hlc_1...
Num:
1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_49
Num:
1
Den:
-1
Norm:
0
done.
TMP_50(uint256) = INTERNAL_CALL, Test._normalizeDecimals(address,uint256)(_token_1,TMP_49)
Internal call...
_normalizeDecimals
_token
TMP_49
Function: _normalizeDecimals
ic
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
added
Function name: _normalizeDecimals
Function Visibility: internal
typecheckig node...
_token_1(address) := ϕ(['_token_1'])
checking _token
Local variable: _token
Function name: _normalizeDecimals
Num:
1
Den:
-1
Norm:
-100
Phi
[i]Type for _token
Num:
1
Den:
-1
Norm:
-100
done.
_amount_1(uint256) := ϕ(['TMP_49'])
checking _amount
Local variable: _amount
Function name: _normalizeDecimals
Num:
1
Den:
-1
Norm:
-100
Phi
[i]Type for _amount
Num:
1
Den:
-1
Norm:
-100
done.
typecheckig node...
TMP_53 = CONVERT _token_1 to ExtendedIERC20
checking tmp_53
Temp variable: tmp_53
Function name: _normalizeDecimals
checking tmp_53
[i]Type for TMP_53
Num:
Den:
Norm:
-100
done.
TMP_54(uint8) = HIGH_LEVEL_CALL, dest:TMP_53(ExtendedIERC20), function:decimals, arguments:[]  
High Level Call: decimals
checking tmp_54
Temp variable: tmp_54
Function name: _normalizeDecimals
High Call: decimals
func name:decimals
TMP_54
TMP_54
Finding type for hlc_0...
Num:
-1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_54
Num:
-1
Den:
-1
Norm:
0
done.
TMP_55 = CONVERT TMP_54 to uint256
checking tmp_55
Temp variable: tmp_55
Function name: _normalizeDecimals
checking tmp_55
[i]Type for TMP_55
Num:
Den:
Norm:
-100
done.
_decimals_1(uint256) := TMP_55(uint256)
checking _decimals
Local variable: _decimals
Function name: _normalizeDecimals
asgn
[i]Type for _decimals
Num:
Den:
Norm:
0
done.
[x]node added back
typecheckig node...
TMP_56(bool) = _decimals_1 < 18
checking tmp_56
Temp variable: tmp_56
Function name: _normalizeDecimals
testing lt...
Constatn varible: 18
Constatn varible: 18
val: 18
Constatn varible: 18
[i]Type for TMP_56
Num:
-1
Den:
-1
Norm:
0
done.
CONDITION TMP_56
Condition...
Conidtion: 
TMP_56
TMP_56
[x]node added back
typecheckig node...
TMP_57(uint256) = 18 - _decimals_1
checking tmp_57
Temp variable: tmp_57
Function name: _normalizeDecimals
Constatn varible: 18
Constatn varible: 18
val: 18
Num:
-1
Den:
-1
Norm:
-100
Num:
Den:
Norm:
0
Constatn varible: 18
[i]Type for TMP_57
Num:
-1
Den:
-1
Norm:
0
done.
TMP_58(uint256) = 10 ** TMP_57
checking tmp_58
Temp variable: tmp_58
Function name: _normalizeDecimals
Constatn varible: 10
Num:
-1
Den:
-1
Norm:
-100
Num:
-1
Den:
-1
Norm:
0
Num:
Den:
Norm:
-100
x:0
-1
[i]Type for TMP_58
Num:
-1
Den:
-1
Norm:
-102
done.
TMP_59(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.mul(uint256,uint256), arguments:['_amount_1', 'TMP_58'] 
High Level Call: mul
checking tmp_59
Temp variable: tmp_59
Function name: _normalizeDecimals
High Call: mul
func name:mul
testing mul...
---
Num:
1
Den:
-1
Norm:
-100
r
Num:
-1
Den:
-1
Norm:
-102
***
False
False
False
True
[i]Type for TMP_59
Num:
1
Den:
-1
Norm:
-102
done.
_amount_2(uint256) := TMP_59(uint256)
checking _amount
Local variable: _amount
Function name: _normalizeDecimals
asgn
[i]Type for _amount
Num:
1
Den:
-1
Norm:
-102
done.
[x]node added back
typecheckig node...
_amount_3(uint256) := ϕ(['_amount_2', '_amount_1'])
checking _amount
Local variable: _amount
Function name: _normalizeDecimals
Num:
1
Den:
-1
Norm:
-100
Phi
[i]Type for _amount
Num:
1
Den:
-1
Norm:
-100
done.
typecheckig node...
RETURN _amount_3
Return...
_normalizeDecimals
_amount_3
Checking return value_normalizeDecimals
_amount_3
_amount
&&
_amount
[i]Type for TMP_50
Num:
1
Den:
-1
Norm:
-100
done.
TMP_51(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.add(uint256,uint256), arguments:['_balance_1', 'TMP_50'] 
High Level Call: add
checking tmp_51
Temp variable: tmp_51
Function name: balanceOfThis
High Call: add
func name:add
[i]Type for TMP_51
Num:
1
Den:
-1
Norm:
0
done.
_balance_2(uint256) := TMP_51(uint256)
checking _balance
Local variable: _balance
Function name: balanceOfThis
asgn
[i]Type for _balance
Num:
1
Den:
-1
Norm:
0
done.
[x]node added back
typecheckig node...
TMP_52(uint8) := i_1(uint8)
checking tmp_52
Temp variable: tmp_52
Function name: balanceOfThis
asgn
[i]Type for TMP_52
Num:
Den:
Norm:
0
done.
i_2(uint8) = i_1 + 1
checking i
Local variable: i
Function name: balanceOfThis
Constatn varible: 1
Constatn varible: 1
val: 1
Constatn varible: 1
[i]Type for i
Num:
-1
Den:
-1
Norm:
0
done.
[x]node added back
Checking return valuebalanceOfThis
_balance_0
_balance
&&
_balance
[i]Type for TMP_12
Num:
Den:
Norm:
-100
done.
manager_2(IManager) := ϕ(['manager_13'])
checking manager
State IR  variable: manager
State variable: manager
Function name: balance
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
TMP_13 = CONVERT this to address
checking tmp_13
Temp variable: tmp_13
Function name: balance
checking tmp_13
[i]Type for TMP_13
Num:
Den:
Norm:
-100
done.
TMP_14(address) = HIGH_LEVEL_CALL, dest:manager_2(IManager), function:controllers, arguments:['TMP_13']  
High Level Call: controllers
checking tmp_14
Temp variable: tmp_14
Function name: balance
High Call: controllers
func name:controllers
TMP_14
TMP_14
Finding type for hlc_1...
Num:
-1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_14
Num:
-1
Den:
-1
Norm:
0
done.
manager_3(IManager) := ϕ(['manager_13', 'manager_16', 'manager_10', 'manager_11', 'manager_2', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: balance
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
TMP_15 = CONVERT TMP_14 to IController
checking tmp_15
Temp variable: tmp_15
Function name: balance
checking tmp_15
[i]Type for TMP_15
Num:
Den:
Norm:
-100
done.
TMP_16(uint256) = HIGH_LEVEL_CALL, dest:TMP_15(IController), function:balanceOf, arguments:[]  
High Level Call: balanceof
checking tmp_16
Temp variable: tmp_16
Function name: balance
High Call: balanceOf
func name:balanceOf
TMP_16
TMP_16
Finding type for hlc_2...
Num:
1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_16
Num:
1
Den:
-1
Norm:
0
done.
manager_4(IManager) := ϕ(['manager_13', 'manager_16', 'manager_3', 'manager_10', 'manager_11', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: balance
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
TMP_17(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.add(uint256,uint256), arguments:['TMP_12', 'TMP_16'] 
High Level Call: add
checking tmp_17
Temp variable: tmp_17
Function name: balance
High Call: add
func name:add
[i]Type for TMP_17
Num:
1
Den:
-1
Norm:
0
done.
RETURN TMP_17
Return...
balance
_balance_0
TMP_17
[x]node added back
Reading Function: withdraw
Function name: withdraw
Function Visibility: public
_shares
Finding type for _shares...
Num:
1
Den:
-1
Norm:
0
[*]Type fetched successfully
_output
Finding type for _output...
Num:
1
Den:
-1
Norm:
0
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1]
    den: [-1]
typecheckig node...
manager_5(IManager) := ϕ(['manager_13', 'manager_16', 'manager_10', 'manager_11', 'manager_0', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: withdraw
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
MAX_2(uint256) := ϕ(['MAX_6', 'MAX_0'])
checking max
State IR  variable: max
State variable: max
Function name: withdraw
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for MAX
Num:
-1
Den:
-1
Norm:
-100
done.
typecheckig node...
MODIFIER_CALL, Test.checkToken(address)(_output_1)
Internal call...
checkToken
_output
Function: checkToken
ic
Num:
1
Den:
-1
Norm:
-100
Internal cal param_cache
Param: 0
    num: [1]
    den: [-1]
added
Function name: checkToken
Function Visibility: internal
typecheckig node...
_token_1(address) := ϕ(['_output_1'])
checking _token
Local variable: _token
Function name: checkToken
Num:
1
Den:
-1
Norm:
-100
Phi
[i]Type for _token
Num:
1
Den:
-1
Norm:
-100
done.
manager_14(IManager) := ϕ(['manager_13', 'manager_16', 'manager_10', 'manager_11', 'manager_0', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: checkToken
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
typecheckig node...
TMP_60(bool) = HIGH_LEVEL_CALL, dest:manager_14(IManager), function:allowedTokens, arguments:['_token_1']  
High Level Call: allowedtokens
checking tmp_60
Temp variable: tmp_60
Function name: checkToken
High Call: allowedTokens
func name:allowedTokens
TMP_60
TMP_60
Finding type for hlc_0...
Num:
-1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_60
Num:
-1
Den:
-1
Norm:
0
done.
manager_15(IManager) := ϕ(['manager_13', 'manager_16', 'manager_10', 'manager_11', 'manager_14', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: checkToken
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
TMP_61(address) = HIGH_LEVEL_CALL, dest:manager_15(IManager), function:vaults, arguments:['_token_1']  
High Level Call: vaults
checking tmp_61
Temp variable: tmp_61
Function name: checkToken
High Call: vaults
func name:vaults
TMP_61
TMP_61
Finding type for hlc_1...
Num:
-1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_61
Num:
-1
Den:
-1
Norm:
0
done.
manager_16(IManager) := ϕ(['manager_13', 'manager_16', 'manager_10', 'manager_11', 'manager_15', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: checkToken
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
TMP_62 = CONVERT this to address
checking tmp_62
Temp variable: tmp_62
Function name: checkToken
checking tmp_62
[i]Type for TMP_62
Num:
Den:
Norm:
-100
done.
TMP_63(bool) = TMP_61 == TMP_62
checking tmp_63
Temp variable: tmp_63
Function name: checkToken
[i]Type for TMP_63
Num:
Den:
Norm:
-100
done.
TMP_64(bool) = TMP_60 && TMP_63
checking tmp_64
Temp variable: tmp_64
Function name: checkToken
[i]Type for TMP_64
Num:
Den:
Norm:
-100
done.
TMP_65(None) = SOLIDITY_CALL require(bool,string)(TMP_64,!_token)
checking tmp_65
Temp variable: tmp_65
Function name: checkToken
checking tmp_65
[i]Type for TMP_65
Num:
Den:
Norm:
-100
done.
typecheckig node...
Checking return valuecheckToken
done.
manager_6(IManager) := ϕ(['manager_16'])
checking manager
State IR  variable: manager
State variable: manager
Function name: withdraw
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
typecheckig node...
TMP_18(uint256) = INTERNAL_CALL, Test.balance()()
Internal call...
balance
Function: balance
ic
Internal cal param_cache
[i]Type for TMP_18
Num:
Den:
Norm:
-100
done.
manager_7(IManager) := ϕ(['manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: withdraw
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
TMP_19(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.mul(uint256,uint256), arguments:['TMP_18', '_shares_1'] 
High Level Call: mul
checking tmp_19
Temp variable: tmp_19
Function name: withdraw
High Call: mul
func name:mul
testing mul...
Num:
1
Den:
-1
Norm:
-100
---
Num:
Den:
Norm:
-100
r
Num:
1
Den:
-1
Norm:
-100
***
True
False
False
False
[i]Type for TMP_19
Num:
1
Den:
-1
Norm:
0
done.
TMP_20(uint256) = INTERNAL_CALL, Test.totalSupply()()
Internal call...
totalSupply
Function: totalSupply
ic
Internal cal param_cache
added
Function name: totalSupply
Function Visibility: public
typecheckig node...
MAX_1(uint256) := ϕ(['MAX_6', 'MAX_0'])
checking max
State IR  variable: max
State variable: max
Function name: totalSupply
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for MAX
Num:
-1
Den:
-1
Norm:
-100
done.
typecheckig node...
amt_1(uint256) := MAX_1(uint256)
checking amt
Local variable: amt
Function name: totalSupply
asgn
[i]Type for amt
Num:
-1
Den:
-1
Norm:
0
done.
Checking return valuetotalSupply
amt_0
amt
&&
amt
[i]Type for TMP_20
Num:
Den:
Norm:
-100
done.
TMP_21(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.div(uint256,uint256), arguments:['TMP_19', 'TMP_20'] 
High Level Call: div
checking tmp_21
Temp variable: tmp_21
Function name: withdraw
High Call: div
func name:div
[i]Type for TMP_21
Num:
1
Den:
-1
Norm:
0
done.
_amount_1(uint256) := TMP_21(uint256)
checking _amount
Local variable: _amount
Function name: withdraw
asgn
[i]Type for _amount
Num:
1
Den:
-1
Norm:
0
done.
[x]node added back
typecheckig node...
TMP_22(uint256) = HIGH_LEVEL_CALL, dest:manager_8(IManager), function:withdrawalProtectionFee, arguments:[]  
High Level Call: withdrawalprotectionfee
checking tmp_22
Temp variable: tmp_22
Function name: withdraw
High Call: withdrawalProtectionFee
func name:withdrawalProtectionFee
TMP_22
TMP_22
Finding type for hlc_0...
Num:
-1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_22
Num:
-1
Den:
-1
Norm:
0
done.
manager_9(IManager) := ϕ(['manager_13', 'manager_16', 'manager_10', 'manager_11', 'manager_8', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: withdraw
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
MAX_6(uint256) := ϕ(['MAX_6', 'MAX_5'])
checking max
State IR  variable: max
State variable: max
Function name: withdraw
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for MAX
Num:
-1
Den:
-1
Norm:
-100
done.
_withdrawalProtectionFee_1(uint256) := TMP_22(uint256)
checking _withdrawalprotectionfee
Local variable: _withdrawalprotectionfee
Function name: withdraw
asgn
[i]Type for _withdrawalProtectionFee
Num:
-1
Den:
-1
Norm:
0
done.
typecheckig node...
TMP_23(bool) = _withdrawalProtectionFee_1 > 0
checking tmp_23
Temp variable: tmp_23
Function name: withdraw
testing gt...
Constatn varible: 0
Constatn varible: 0
val: 0
0
Num:
-1
Den:
-1
Norm:
-100
True
[i]Type for TMP_23
Num:
-1
Den:
-1
Norm:
0
done.
CONDITION TMP_23
Condition...
Conidtion: 
TMP_23
TMP_23
typecheckig node...
TMP_24(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.mul(uint256,uint256), arguments:['_amount_1', '_withdrawalProtectionFee_1'] 
High Level Call: mul
checking tmp_24
Temp variable: tmp_24
Function name: withdraw
High Call: mul
func name:mul
testing mul...
---
Num:
1
Den:
-1
Norm:
0
r
Num:
-1
Den:
-1
Norm:
0
***
False
False
False
True
[i]Type for TMP_24
Num:
1
Den:
-1
Norm:
0
done.
TMP_25(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.div(uint256,uint256), arguments:['TMP_24', 'MAX_6'] 
High Level Call: div
checking tmp_25
Temp variable: tmp_25
Function name: withdraw
High Call: div
func name:div
[i]Type for TMP_25
Num:
1
Den:
-1
Norm:
0
done.
_withdrawalProtection_1(uint256) := TMP_25(uint256)
checking _withdrawalprotection
Local variable: _withdrawalprotection
Function name: withdraw
asgn
[i]Type for _withdrawalProtection
Num:
1
Den:
-1
Norm:
0
done.
typecheckig node...
_amount_3(uint256) := ϕ(['_amount_1', '_amount_2'])
checking _amount
Local variable: _amount
Function name: withdraw
Phi
[i]Type for _amount
Num:
Den:
Norm:
-100
done.
typecheckig node...
TMP_26(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.sub(uint256,uint256), arguments:['_amount_1', '_withdrawalProtection_1'] 
High Level Call: sub
checking tmp_26
Temp variable: tmp_26
Function name: withdraw
High Call: sub
func name:sub
Num:
1
Den:
-1
Norm:
0
Num:
1
Den:
-1
Norm:
0
[i]Type for TMP_26
Num:
1
Den:
-1
Norm:
0
done.
_amount_2(uint256) := TMP_26(uint256)
checking _amount
Local variable: _amount
Function name: withdraw
asgn
[i]Type for _amount
Num:
1
Den:
-1
Norm:
0
done.
typecheckig node...
TMP_27 = CONVERT _output_1 to IERC20
checking tmp_27
Temp variable: tmp_27
Function name: withdraw
checking tmp_27
[i]Type for TMP_27
Num:
Den:
Norm:
-100
done.
TMP_28 = CONVERT this to address
checking tmp_28
Temp variable: tmp_28
Function name: withdraw
checking tmp_28
[i]Type for TMP_28
Num:
Den:
Norm:
-100
done.
TMP_29(uint256) = HIGH_LEVEL_CALL, dest:TMP_27(IERC20), function:balanceOf, arguments:['TMP_28']  
High Level Call: balanceof
checking tmp_29
Temp variable: tmp_29
Function name: withdraw
High Call: balanceOf
func name:balanceOf
TMP_29
TMP_29
Finding type for hlc_1...
Num:
1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_29
Num:
1
Den:
-1
Norm:
0
done.
manager_10(IManager) := ϕ(['manager_13', 'manager_16', 'manager_10', 'manager_11', 'manager_9', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: withdraw
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
_balance_1(uint256) := TMP_29(uint256)
checking _balance
Local variable: _balance
Function name: withdraw
asgn
[i]Type for _balance
Num:
1
Den:
-1
Norm:
0
done.
typecheckig node...
TMP_30(bool) = _balance_1 < _amount_3
checking tmp_30
Temp variable: tmp_30
Function name: withdraw
testing lt...
[i]Type for TMP_30
Num:
1
Den:
-1
Norm:
0
done.
CONDITION TMP_30
Condition...
Conidtion: 
TMP_30
TMP_30
[x]node added back
typecheckig node...
typecheckig node...
TMP_31 = CONVERT this to address
checking tmp_31
Temp variable: tmp_31
Function name: withdraw
checking tmp_31
[i]Type for TMP_31
Num:
Den:
Norm:
-100
done.
TMP_32(address) = HIGH_LEVEL_CALL, dest:manager_10(IManager), function:controllers, arguments:['TMP_31']  
High Level Call: controllers
checking tmp_32
Temp variable: tmp_32
Function name: withdraw
High Call: controllers
func name:controllers
TMP_32
TMP_32
Finding type for hlc_2...
Num:
-1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_32
Num:
-1
Den:
-1
Norm:
0
done.
manager_11(IManager) := ϕ(['manager_13', 'manager_16', 'manager_10', 'manager_11', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: withdraw
Num:
-1
Den:
-1
Norm:
-100
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
TMP_33 = CONVERT TMP_32 to IController
checking tmp_33
Temp variable: tmp_33
Function name: withdraw
checking tmp_33
[i]Type for TMP_33
Num:
Den:
Norm:
-100
done.
_controller_1(IController) := TMP_33(IController)
checking _controller
Local variable: _controller
Function name: withdraw
asgn
[i]Type for _controller
Num:
Den:
Norm:
0
done.
[x]node added back
typecheckig node...
TMP_34(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.sub(uint256,uint256), arguments:['_amount_3', '_balance_1'] 
High Level Call: sub
checking tmp_34
Temp variable: tmp_34
Function name: withdraw
High Call: sub
func name:sub
Num:
Den:
Norm:
-100
Num:
1
Den:
-1
Norm:
0
[i]Type for TMP_34
Num:
1
Den:
-1
Norm:
0
done.
_toWithdraw_1(uint256) := TMP_34(uint256)
checking _towithdraw
Local variable: _towithdraw
Function name: withdraw
asgn
[i]Type for _toWithdraw
Num:
1
Den:
-1
Norm:
0
done.
[x]node added back
typecheckig node...
TMP_35(uint256) = HIGH_LEVEL_CALL, dest:_controller_1(IController), function:strategies, arguments:[]  
High Level Call: strategies
checking tmp_35
Temp variable: tmp_35
Function name: withdraw
High Call: strategies
func name:strategies
TMP_35
TMP_35
Finding type for hlc_3...
Num:
1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_35
Num:
1
Den:
-1
Norm:
0
done.
TMP_36(bool) = TMP_35 > 0
checking tmp_36
Temp variable: tmp_36
Function name: withdraw
testing gt...
Constatn varible: 0
Constatn varible: 0
val: 0
0
Num:
-1
Den:
-1
Norm:
-100
True
[i]Type for TMP_36
Num:
-1
Den:
-1
Norm:
0
done.
CONDITION TMP_36
Condition...
Conidtion: 
TMP_36
TMP_36
typecheckig node...
HIGH_LEVEL_CALL, dest:_controller_1(IController), function:withdraw, arguments:['_output_1', '_toWithdraw_1']  
High Level Call: withdraw
High Call: withdraw
func name:withdraw
done.
typecheckig node...
typecheckig node...
TMP_38 = CONVERT _output_1 to IERC20
checking tmp_38
Temp variable: tmp_38
Function name: withdraw
checking tmp_38
[i]Type for TMP_38
Num:
Den:
Norm:
-100
done.
TMP_39 = CONVERT this to address
checking tmp_39
Temp variable: tmp_39
Function name: withdraw
checking tmp_39
[i]Type for TMP_39
Num:
Den:
Norm:
-100
done.
TMP_40(uint256) = HIGH_LEVEL_CALL, dest:TMP_38(IERC20), function:balanceOf, arguments:['TMP_39']  
High Level Call: balanceof
checking tmp_40
Temp variable: tmp_40
Function name: withdraw
High Call: balanceOf
func name:balanceOf
TMP_40
TMP_40
Finding type for hlc_4...
Num:
-1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_40
Num:
-1
Den:
-1
Norm:
0
done.
_after_1(uint256) := TMP_40(uint256)
checking _after
Local variable: _after
Function name: withdraw
asgn
[i]Type for _after
Num:
-1
Den:
-1
Norm:
0
done.
typecheckig node...
TMP_41(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.sub(uint256,uint256), arguments:['_after_1', '_balance_1'] 
High Level Call: sub
checking tmp_41
Temp variable: tmp_41
Function name: withdraw
High Call: sub
func name:sub
Num:
-1
Den:
-1
Norm:
0
Num:
1
Den:
-1
Norm:
0
[i]Type for TMP_41
Num:
1
Den:
-1
Norm:
0
done.
_diff_1(uint256) := TMP_41(uint256)
checking _diff
Local variable: _diff
Function name: withdraw
asgn
[i]Type for _diff
Num:
1
Den:
-1
Norm:
0
done.
typecheckig node...
TMP_42(bool) = _diff_1 < _toWithdraw_1
checking tmp_42
Temp variable: tmp_42
Function name: withdraw
testing lt...
[i]Type for TMP_42
Num:
-1
Den:
-1
Norm:
0
done.
CONDITION TMP_42
Condition...
Conidtion: 
TMP_42
TMP_42
typecheckig node...
_amount_4(uint256) := _after_1(uint256)
checking _amount
Local variable: _amount
Function name: withdraw
asgn
[i]Type for _amount
Num:
-1
Den:
-1
Norm:
0
done.
typecheckig node...
Reading Function: balanceOfThis
Function name: balanceOfThis
Function Visibility: public
typecheckig node...
manager_12(IManager) := ϕ(['manager_13', 'manager_16', 'manager_10', 'manager_11', 'manager_0', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: balanceOfThis
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
typecheckig node...
TMP_44 = CONVERT this to address
checking tmp_44
Temp variable: tmp_44
Function name: balanceOfThis
checking tmp_44
[i]Type for TMP_44
Num:
Den:
Norm:
-100
done.
TMP_45(address[]) = HIGH_LEVEL_CALL, dest:manager_12(IManager), function:getTokens, arguments:['TMP_44']  
High Level Call: gettokens
checking tmp_45
Temp variable: tmp_45
Function name: balanceOfThis
High Call: getTokens
func name:getTokens
TMP_45
TMP_45
Finding type for hlc_0...
Num:
1
1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_45
Num:
1
1
Den:
-1
Norm:
0
done.
manager_13(IManager) := ϕ(['manager_13', 'manager_16', 'manager_12', 'manager_10', 'manager_11', 'manager_4'])
checking manager
State IR  variable: manager
State variable: manager
Function name: balanceOfThis
Phi
[i]Type for manager
Num:
-1
Den:
-1
Norm:
-100
done.
_tokens_1(address[]) := TMP_45(address[])
checking _tokens
Local variable: _tokens
Function name: balanceOfThis
asgn
Error with: _tokens in function balanceOfThis
[i]Type for _tokens
Num:
-1
Den:
-1
Norm:
0
done.
typecheckig node...
typecheckig node...
typecheckig node...
_balance_1(uint256) := ϕ(['_balance_2', '_balance_0'])
checking _balance
Local variable: _balance
Function name: balanceOfThis
Phi
[i]Type for _balance
Num:
Den:
Norm:
-100
done.
i_1(uint8) := ϕ(['i_0', 'i_2'])
checking i
Local variable: i
Function name: balanceOfThis
Phi
[i]Type for i
Num:
Den:
Norm:
-100
done.
REF_17 -> LENGTH _tokens_1
checking ref_17
Refernce variable: ref_17
Function name: balanceOfThis
checking ref_17
Refernce variable: ref_17
Ref: REF_17
Finding type for ref_0...
Num:
-1
Den:
-1
Norm:
0
[*]Type fetched successfully
TMP_46(bool) = i_1 < REF_17
checking tmp_46
Temp variable: tmp_46
Function name: balanceOfThis
testing lt...
[i]Type for TMP_46
Num:
-1
Den:
-1
Norm:
0
done.
CONDITION TMP_46
Condition...
Conidtion: 
TMP_46
TMP_46
[x]node added back
typecheckig node...
typecheckig node...
REF_18(address) -> _tokens_1[i_1]
checking ref_18
Refernce variable: ref_18
Function name: balanceOfThis
checking ref_18
Refernce variable: ref_18
Ref: REF_18
Finding type for ref_1...
Num:
1
1
Den:
-1
Norm:
0
[*]Type fetched successfully
_token_1(address) := REF_18(address)
checking _token
Local variable: _token
Function name: balanceOfThis
asgn
Error with: _token in function balanceOfThis
[i]Type for _token
Num:
-1
Den:
-1
Norm:
0
done.
typecheckig node...
TMP_47 = CONVERT _token_1 to IERC20
checking tmp_47
Temp variable: tmp_47
Function name: balanceOfThis
checking tmp_47
[i]Type for TMP_47
Num:
Den:
Norm:
-100
done.
TMP_48 = CONVERT this to address
checking tmp_48
Temp variable: tmp_48
Function name: balanceOfThis
checking tmp_48
[i]Type for TMP_48
Num:
Den:
Norm:
-100
done.
TMP_49(uint256) = HIGH_LEVEL_CALL, dest:TMP_47(IERC20), function:balanceOf, arguments:['TMP_48']  
High Level Call: balanceof
checking tmp_49
Temp variable: tmp_49
Function name: balanceOfThis
High Call: balanceOf
func name:balanceOf
TMP_49
TMP_49
Finding type for hlc_1...
Num:
1
1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_49
Num:
1
1
Den:
-1
Norm:
0
done.
TMP_50(uint256) = INTERNAL_CALL, Test._normalizeDecimals(address,uint256)(_token_1,TMP_49)
Internal call...
_normalizeDecimals
_token
TMP_49
Function: _normalizeDecimals
ic
Internal cal param_cache
Param: 0
    num: [-1]
    den: [-1]
Param: 1
    num: [1, 1]
    den: [-1]
[i]Type for TMP_50
Num:
1
Den:
-1
Norm:
-100
done.
TMP_51(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.add(uint256,uint256), arguments:['_balance_1', 'TMP_50'] 
High Level Call: add
checking tmp_51
Temp variable: tmp_51
Function name: balanceOfThis
High Call: add
func name:add
[i]Type for TMP_51
Num:
1
Den:
-1
Norm:
0
done.
_balance_2(uint256) := TMP_51(uint256)
checking _balance
Local variable: _balance
Function name: balanceOfThis
asgn
[i]Type for _balance
Num:
1
Den:
-1
Norm:
0
done.
[x]node added back
typecheckig node...
TMP_52(uint8) := i_1(uint8)
checking tmp_52
Temp variable: tmp_52
Function name: balanceOfThis
asgn
[i]Type for TMP_52
Num:
Den:
Norm:
0
done.
i_2(uint8) = i_1 + 1
checking i
Local variable: i
Function name: balanceOfThis
Constatn varible: 1
Constatn varible: 1
val: 1
Constatn varible: 1
[i]Type for i
Num:
-1
Den:
-1
Norm:
0
done.
[x]node added back
Reading Function: _normalizeDecimals
Function name: _normalizeDecimals
Function Visibility: internal
_token
Finding type for _token...
Num:
1
Den:
-1
Norm:
0
[*]Type fetched successfully
_amount
Finding type for _amount...
Num:
1
1
Den:
-1
Norm:
0
[*]Type fetched successfully
Param: 0
    num: [1]
    den: [-1]
Param: 1
    num: [1, 1]
    den: [-1]
typecheckig node...
_token_1(address) := ϕ(['_token_1'])
checking _token
Local variable: _token
Function name: _normalizeDecimals
Phi
[i]Type for _token
Num:
1
Den:
-1
Norm:
-100
done.
_amount_1(uint256) := ϕ(['TMP_49'])
checking _amount
Local variable: _amount
Function name: _normalizeDecimals
Phi
[i]Type for _amount
Num:
1
Den:
-1
Norm:
-100
done.
typecheckig node...
TMP_53 = CONVERT _token_1 to ExtendedIERC20
checking tmp_53
Temp variable: tmp_53
Function name: _normalizeDecimals
checking tmp_53
[i]Type for TMP_53
Num:
Den:
Norm:
-100
done.
TMP_54(uint8) = HIGH_LEVEL_CALL, dest:TMP_53(ExtendedIERC20), function:decimals, arguments:[]  
High Level Call: decimals
checking tmp_54
Temp variable: tmp_54
Function name: _normalizeDecimals
High Call: decimals
func name:decimals
TMP_54
TMP_54
Finding type for hlc_0...
Num:
-1
Den:
-1
Norm:
0
[*]Type fetched successfully
[i]Type for TMP_54
Num:
-1
Den:
-1
Norm:
0
done.
TMP_55 = CONVERT TMP_54 to uint256
checking tmp_55
Temp variable: tmp_55
Function name: _normalizeDecimals
checking tmp_55
[i]Type for TMP_55
Num:
Den:
Norm:
-100
done.
_decimals_1(uint256) := TMP_55(uint256)
checking _decimals
Local variable: _decimals
Function name: _normalizeDecimals
asgn
[i]Type for _decimals
Num:
Den:
Norm:
0
done.
[x]node added back
typecheckig node...
TMP_56(bool) = _decimals_1 < 18
checking tmp_56
Temp variable: tmp_56
Function name: _normalizeDecimals
testing lt...
Constatn varible: 18
Constatn varible: 18
val: 18
Constatn varible: 18
[i]Type for TMP_56
Num:
-1
Den:
-1
Norm:
0
done.
CONDITION TMP_56
Condition...
Conidtion: 
TMP_56
TMP_56
[x]node added back
typecheckig node...
TMP_57(uint256) = 18 - _decimals_1
checking tmp_57
Temp variable: tmp_57
Function name: _normalizeDecimals
Constatn varible: 18
Constatn varible: 18
val: 18
Num:
-1
Den:
-1
Norm:
-100
Num:
Den:
Norm:
0
Constatn varible: 18
[i]Type for TMP_57
Num:
-1
Den:
-1
Norm:
0
done.
TMP_58(uint256) = 10 ** TMP_57
checking tmp_58
Temp variable: tmp_58
Function name: _normalizeDecimals
Constatn varible: 10
Num:
-1
Den:
-1
Norm:
-100
Num:
-1
Den:
-1
Norm:
0
Num:
-1
Den:
-1
Norm:
-102
x:-102
-1
[i]Type for TMP_58
Num:
-1
Den:
-1
Norm:
-102
done.
TMP_59(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.mul(uint256,uint256), arguments:['_amount_1', 'TMP_58'] 
High Level Call: mul
checking tmp_59
Temp variable: tmp_59
Function name: _normalizeDecimals
High Call: mul
func name:mul
testing mul...
---
Num:
1
Den:
-1
Norm:
-100
Error with: TMP_59 in function _normalizeDecimals
r
Num:
-1
Den:
-1
Norm:
-102
***
False
False
False
True
Error with: TMP_59 in function _normalizeDecimals
[i]Type for TMP_59
Num:
-1
Den:
-1
Norm:
-204
done.
_amount_2(uint256) := TMP_59(uint256)
checking _amount
Local variable: _amount
Function name: _normalizeDecimals
asgn
Error with: _amount in function _normalizeDecimals
[i]Type for _amount
Num:
-1
Den:
-1
Norm:
-102
done.
[x]node added back
typecheckig node...
_amount_3(uint256) := ϕ(['_amount_2', '_amount_1'])
checking _amount
Local variable: _amount
Function name: _normalizeDecimals
Phi
[i]Type for _amount
Num:
1
Den:
-1
Norm:
-100
done.
typecheckig node...
RETURN _amount_3
Return...
_normalizeDecimals
_amount_3
_amount_3
Reading Function: slitherConstructorConstantVariables
Function slitherConstructorConstantVariables not marked
------
typecheckig node...
TMP_57(uint256) = 18 - _decimals_1
checking tmp_57
Temp variable: tmp_57
Constatn varible: 18
Constatn varible: 18
val: 18
Num:
-1
Den:
-1
Norm:
-100
Num:
Den:
Norm:
0
Constatn varible: 18
[i]Type for TMP_57
Num:
-1
Den:
-1
Norm:
0
done.
TMP_58(uint256) = 10 ** TMP_57
checking tmp_58
Temp variable: tmp_58
Constatn varible: 10
Num:
-1
Den:
-1
Norm:
-100
Num:
-1
Den:
-1
Norm:
0
Num:
-1
Den:
-1
Norm:
-102
x:-102
-1
[i]Type for TMP_58
Num:
-1
Den:
-1
Norm:
-102
done.
TMP_59(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.mul(uint256,uint256), arguments:['_amount_1', 'TMP_58'] 
High Level Call: mul
checking tmp_59
Temp variable: tmp_59
High Call: mul
func name:mul
testing mul...
---
Num:
1
Den:
-1
Norm:
-100
Error with: TMP_59 in function _normalizeDecimals
r
Num:
-1
Den:
-1
Norm:
-102
***
False
False
False
True
Error with: TMP_59 in function _normalizeDecimals
[i]Type for TMP_59
Num:
-1
Den:
-1
Norm:
-306
done.
_amount_2(uint256) := TMP_59(uint256)
checking _amount
Local variable: _amount
asgn
Error with: _amount in function _normalizeDecimals
[i]Type for _amount
Num:
-1
Den:
-1
Norm:
-102
done.
[x]node added back
------
typecheckig node...
TMP_57(uint256) = 18 - _decimals_1
checking tmp_57
Temp variable: tmp_57
Constatn varible: 18
Constatn varible: 18
val: 18
Num:
-1
Den:
-1
Norm:
-100
Num:
Den:
Norm:
0
Constatn varible: 18
[i]Type for TMP_57
Num:
-1
Den:
-1
Norm:
0
done.
TMP_58(uint256) = 10 ** TMP_57
checking tmp_58
Temp variable: tmp_58
Constatn varible: 10
Num:
-1
Den:
-1
Norm:
-100
Num:
-1
Den:
-1
Norm:
0
Num:
-1
Den:
-1
Norm:
-102
x:-102
-1
[i]Type for TMP_58
Num:
-1
Den:
-1
Norm:
-102
done.
TMP_59(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.mul(uint256,uint256), arguments:['_amount_1', 'TMP_58'] 
High Level Call: mul
checking tmp_59
Temp variable: tmp_59
High Call: mul
func name:mul
testing mul...
---
Num:
1
Den:
-1
Norm:
-100
Error with: TMP_59 in function _normalizeDecimals
r
Num:
-1
Den:
-1
Norm:
-102
***
False
False
False
True
Error with: TMP_59 in function _normalizeDecimals
[i]Type for TMP_59
Num:
-1
Den:
-1
Norm:
-408
done.
_amount_2(uint256) := TMP_59(uint256)
checking _amount
Local variable: _amount
asgn
Error with: _amount in function _normalizeDecimals
[i]Type for _amount
Num:
-1
Den:
-1
Norm:
-102
done.
[x]node added back
------
typecheckig node...
TMP_57(uint256) = 18 - _decimals_1
checking tmp_57
Temp variable: tmp_57
Constatn varible: 18
Constatn varible: 18
val: 18
Num:
-1
Den:
-1
Norm:
-100
Num:
Den:
Norm:
0
Constatn varible: 18
[i]Type for TMP_57
Num:
-1
Den:
-1
Norm:
0
done.
TMP_58(uint256) = 10 ** TMP_57
checking tmp_58
Temp variable: tmp_58
Constatn varible: 10
Num:
-1
Den:
-1
Norm:
-100
Num:
-1
Den:
-1
Norm:
0
Num:
-1
Den:
-1
Norm:
-102
x:-102
-1
[i]Type for TMP_58
Num:
-1
Den:
-1
Norm:
-102
done.
TMP_59(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.mul(uint256,uint256), arguments:['_amount_1', 'TMP_58'] 
High Level Call: mul
checking tmp_59
Temp variable: tmp_59
High Call: mul
func name:mul
testing mul...
---
Num:
1
Den:
-1
Norm:
-100
Error with: TMP_59 in function _normalizeDecimals
r
Num:
-1
Den:
-1
Norm:
-102
***
False
False
False
True
Error with: TMP_59 in function _normalizeDecimals
[i]Type for TMP_59
Num:
-1
Den:
-1
Norm:
-510
done.
_amount_2(uint256) := TMP_59(uint256)
checking _amount
Local variable: _amount
asgn
Error with: _amount in function _normalizeDecimals
[i]Type for _amount
Num:
-1
Den:
-1
Norm:
-102
done.
[x]node added back
------
typecheckig node...
TMP_57(uint256) = 18 - _decimals_1
checking tmp_57
Temp variable: tmp_57
Constatn varible: 18
Constatn varible: 18
val: 18
Num:
-1
Den:
-1
Norm:
-100
Num:
Den:
Norm:
0
Constatn varible: 18
[i]Type for TMP_57
Num:
-1
Den:
-1
Norm:
0
done.
TMP_58(uint256) = 10 ** TMP_57
checking tmp_58
Temp variable: tmp_58
Constatn varible: 10
Num:
-1
Den:
-1
Norm:
-100
Num:
-1
Den:
-1
Norm:
0
Num:
-1
Den:
-1
Norm:
-102
x:-102
-1
[i]Type for TMP_58
Num:
-1
Den:
-1
Norm:
-102
done.
TMP_59(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.mul(uint256,uint256), arguments:['_amount_1', 'TMP_58'] 
High Level Call: mul
checking tmp_59
Temp variable: tmp_59
High Call: mul
func name:mul
testing mul...
---
Num:
1
Den:
-1
Norm:
-100
Error with: TMP_59 in function _normalizeDecimals
r
Num:
-1
Den:
-1
Norm:
-102
***
False
False
False
True
Error with: TMP_59 in function _normalizeDecimals
[i]Type for TMP_59
Num:
-1
Den:
-1
Norm:
-612
done.
_amount_2(uint256) := TMP_59(uint256)
checking _amount
Local variable: _amount
asgn
Error with: _amount in function _normalizeDecimals
[i]Type for _amount
Num:
-1
Den:
-1
Norm:
-102
done.
[x]node added back
------
typecheckig node...
TMP_57(uint256) = 18 - _decimals_1
checking tmp_57
Temp variable: tmp_57
Constatn varible: 18
Constatn varible: 18
val: 18
Num:
-1
Den:
-1
Norm:
-100
Num:
Den:
Norm:
0
Constatn varible: 18
[i]Type for TMP_57
Num:
-1
Den:
-1
Norm:
0
done.
TMP_58(uint256) = 10 ** TMP_57
checking tmp_58
Temp variable: tmp_58
Constatn varible: 10
Num:
-1
Den:
-1
Norm:
-100
Num:
-1
Den:
-1
Norm:
0
Num:
-1
Den:
-1
Norm:
-102
x:-102
-1
[i]Type for TMP_58
Num:
-1
Den:
-1
Norm:
-102
done.
TMP_59(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.mul(uint256,uint256), arguments:['_amount_1', 'TMP_58'] 
High Level Call: mul
checking tmp_59
Temp variable: tmp_59
High Call: mul
func name:mul
testing mul...
---
Num:
1
Den:
-1
Norm:
-100
Error with: TMP_59 in function _normalizeDecimals
r
Num:
-1
Den:
-1
Norm:
-102
***
False
False
False
True
Error with: TMP_59 in function _normalizeDecimals
[i]Type for TMP_59
Num:
-1
Den:
-1
Norm:
-714
done.
_amount_2(uint256) := TMP_59(uint256)
checking _amount
Local variable: _amount
asgn
Error with: _amount in function _normalizeDecimals
[i]Type for _amount
Num:
-1
Den:
-1
Norm:
-102
done.
[x]node added back
------
typecheckig node...
TMP_57(uint256) = 18 - _decimals_1
checking tmp_57
Temp variable: tmp_57
Constatn varible: 18
Constatn varible: 18
val: 18
Num:
-1
Den:
-1
Norm:
-100
Num:
Den:
Norm:
0
Constatn varible: 18
[i]Type for TMP_57
Num:
-1
Den:
-1
Norm:
0
done.
TMP_58(uint256) = 10 ** TMP_57
checking tmp_58
Temp variable: tmp_58
Constatn varible: 10
Num:
-1
Den:
-1
Norm:
-100
Num:
-1
Den:
-1
Norm:
0
Num:
-1
Den:
-1
Norm:
-102
x:-102
-1
[i]Type for TMP_58
Num:
-1
Den:
-1
Norm:
-102
done.
TMP_59(uint256) = LIBRARY_CALL, dest:SafeMath, function:SafeMath.mul(uint256,uint256), arguments:['_amount_1', 'TMP_58'] 
High Level Call: mul
checking tmp_59
Temp variable: tmp_59
High Call: mul
func name:mul
testing mul...
---
Num:
1
Den:
-1
Norm:
-100
Error with: TMP_59 in function _normalizeDecimals
r
Num:
-1
Den:
-1
Norm:
-102
***
False
False
False
True
Error with: TMP_59 in function _normalizeDecimals
[i]Type for TMP_59
Num:
-1
Den:
-1
Norm:
-816
done.
_amount_2(uint256) := TMP_59(uint256)
checking _amount
Local variable: _amount
asgn
Error with: _amount in function _normalizeDecimals
[i]Type for _amount
Num:
-1
Den:
-1
Norm:
-102
done.
[x]node added back
