strict digraph "tests/contract_testcases/solana/issues678.sol" {
	Share [label="name:Share\ncontract: Shares\ntests/contract_testcases/solana/issues678.sol:7:12-17\nfield name:shareOwner ty:address payable\nfield name:amount ty:uint256"]
	Transfer [label="name:Transfer\ncontract: 0\ntests/contract_testcases/solana/issues678.sol:5:11-19\nfield name:to ty:address indexed:no\nfield name:amount ty:uint256 indexed:no\nfield name:balance ty:uint256 indexed:no"]
	contract [label="contract Shares\ntests/contract_testcases/solana/issues678.sol:4:1-56:2"]
	var [label="variable _shares\nvisibility private\ntests/contract_testcases/solana/issues678.sol:12:5-28"]
	node_7 [label="constructor \ncontract: Shares\ntests/contract_testcases/solana/issues678.sol:15:5-19\nsignature ()\nvisibility public\nmutability nonpayable"]
	tags [label="notice: Create the shares object that gives the shares to every body"]
	expr [label="expression\ntests/contract_testcases/solana/issues678.sol:16:9-46"]
	builtins [label="builtin ArrayPush\ntests/contract_testcases/solana/issues678.sol:16:17-21"]
	storage_var [label="storage variable\nShares._shares\nstruct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:16:9-16"]
	struct_literal [label="struct literal: struct Shares.Share\ntests/contract_testcases/solana/issues678.sol:16:22-45"]
	builtins_13 [label="builtin Sender\ntests/contract_testcases/solana/issues678.sol:16:28-38"]
	number_literal [label="uint256 literal: 1000\ntests/contract_testcases/solana/issues678.sol:16:40-44"]
	getShares [label="function getShares\ncontract: Shares\ntests/contract_testcases/solana/issues678.sol:19:5-80\nsignature getShares()\nvisibility external\nmutability view"]
	returns [label="returns\naddress[] \nuint256[] "]
	var_decl [label="variable decl address[] retAddress\ntests/contract_testcases/solana/issues678.sol:20:9-76"]
	alloc_array [label="alloc array address[]\ntests/contract_testcases/solana/issues678.sol:20:39-76"]
	array_length [label="array length uint32\nelement struct Shares.Share\ntests/contract_testcases/solana/issues678.sol:20:68-74"]
	storage_var_20 [label="storage variable\nShares._shares\nstruct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:20:60-67"]
	var_decl_21 [label="variable decl uint256[] retShare\ntests/contract_testcases/solana/issues678.sol:21:9-68"]
	alloc_array_22 [label="alloc array uint256[]\ntests/contract_testcases/solana/issues678.sol:21:34-68"]
	array_length_23 [label="array length uint32\nelement struct Shares.Share\ntests/contract_testcases/solana/issues678.sol:21:60-66"]
	storage_var_24 [label="storage variable\nShares._shares\nstruct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:21:52-59"]
	for [label="for\ntests/contract_testcases/solana/issues678.sol:22:9-25:10"]
	var_decl_26 [label="variable decl uint256 i\ntests/contract_testcases/solana/issues678.sol:22:14-24"]
	number_literal_27 [label="uint256 literal: 0\ntests/contract_testcases/solana/issues678.sol:22:23-24"]
	less [label="less\ntests/contract_testcases/solana/issues678.sol:22:26-44"]
	variable [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:22:26-27"]
	zero_ext [label="zero extend uint256\ntests/contract_testcases/solana/issues678.sol:22:30-44"]
	array_length_31 [label="array length uint32\nelement struct Shares.Share\ntests/contract_testcases/solana/issues678.sol:22:38-44"]
	storage_var_32 [label="storage variable\nShares._shares\nstruct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:22:30-37"]
	expr_33 [label="expression\ntests/contract_testcases/solana/issues678.sol:22:46-49"]
	post_increment [label="post increment\nuint256\ntests/contract_testcases/solana/issues678.sol:22:46-49"]
	variable_35 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:22:46-47"]
	expr_36 [label="expression\ntests/contract_testcases/solana/issues678.sol:23:13-50"]
	assign [label="assign\naddress\ntests/contract_testcases/solana/issues678.sol:23:13-50"]
	subscript [label="subscript address[]\ntests/contract_testcases/solana/issues678.sol:23:13-26"]
	variable_39 [label="variable: retAddress\naddress[]\ntests/contract_testcases/solana/issues678.sol:23:13-23"]
	variable_40 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:23:24-25"]
	cast [label="cast address\ntests/contract_testcases/solana/issues678.sol:23:29-50"]
	storage_load [label="storage load address payable\ntests/contract_testcases/solana/issues678.sol:23:29-50"]
	structmember [label="struct member #0 address payable storage\ntests/contract_testcases/solana/issues678.sol:23:40-50"]
	subscript_44 [label="subscript struct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:23:29-39"]
	storage_var_45 [label="storage variable\nShares._shares\nstruct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:23:29-36"]
	variable_46 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:23:37-38"]
	expr_47 [label="expression\ntests/contract_testcases/solana/issues678.sol:24:13-44"]
	assign_48 [label="assign\nuint256\ntests/contract_testcases/solana/issues678.sol:24:13-44"]
	subscript_49 [label="subscript uint256[]\ntests/contract_testcases/solana/issues678.sol:24:13-24"]
	variable_50 [label="variable: retShare\nuint256[]\ntests/contract_testcases/solana/issues678.sol:24:13-21"]
	variable_51 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:24:22-23"]
	storage_load_52 [label="storage load uint256\ntests/contract_testcases/solana/issues678.sol:24:27-44"]
	structmember_53 [label="struct member #1 uint256 storage\ntests/contract_testcases/solana/issues678.sol:24:38-44"]
	subscript_54 [label="subscript struct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:24:27-37"]
	storage_var_55 [label="storage variable\nShares._shares\nstruct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:24:27-34"]
	variable_56 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:24:35-36"]
	return [label="return\ntests/contract_testcases/solana/issues678.sol:26:9-38"]
	list [label="list\ntests/contract_testcases/solana/issues678.sol:26:9-38"]
	variable_59 [label="variable: retAddress\naddress[]\ntests/contract_testcases/solana/issues678.sol:26:17-27"]
	variable_60 [label="variable: retShare\nuint256[]\ntests/contract_testcases/solana/issues678.sol:26:29-37"]
	_senderIsAShareOwner [label="function _senderIsAShareOwner\ncontract: Shares\ntests/contract_testcases/solana/issues678.sol:29:5-64\nsignature _senderIsAShareOwner()\nvisibility private\nmutability view"]
	returns_62 [label="returns\nbool "]
	for_63 [label="for\ntests/contract_testcases/solana/issues678.sol:30:9-34:10"]
	var_decl_64 [label="variable decl uint256 i\ntests/contract_testcases/solana/issues678.sol:30:14-24"]
	number_literal_65 [label="uint256 literal: 0\ntests/contract_testcases/solana/issues678.sol:30:23-24"]
	less_66 [label="less\ntests/contract_testcases/solana/issues678.sol:30:26-44"]
	variable_67 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:30:26-27"]
	zero_ext_68 [label="zero extend uint256\ntests/contract_testcases/solana/issues678.sol:30:30-44"]
	array_length_69 [label="array length uint32\nelement struct Shares.Share\ntests/contract_testcases/solana/issues678.sol:30:38-44"]
	storage_var_70 [label="storage variable\nShares._shares\nstruct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:30:30-37"]
	expr_71 [label="expression\ntests/contract_testcases/solana/issues678.sol:30:46-49"]
	post_increment_72 [label="post increment\nuint256\ntests/contract_testcases/solana/issues678.sol:30:46-49"]
	variable_73 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:30:46-47"]
	if [label="if\ntests/contract_testcases/solana/issues678.sol:31:13-33:14"]
	equal [label="equal\ntests/contract_testcases/solana/issues678.sol:31:17-52"]
	storage_load_76 [label="storage load address payable\ntests/contract_testcases/solana/issues678.sol:31:17-38"]
	structmember_77 [label="struct member #0 address payable storage\ntests/contract_testcases/solana/issues678.sol:31:28-38"]
	subscript_78 [label="subscript struct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:31:17-27"]
	storage_var_79 [label="storage variable\nShares._shares\nstruct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:31:17-24"]
	variable_80 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:31:25-26"]
	builtins_81 [label="builtin Sender\ntests/contract_testcases/solana/issues678.sol:31:42-52"]
	return_82 [label="return\ntests/contract_testcases/solana/issues678.sol:32:17-28"]
	bool_literal [label="bool literal: true\ntests/contract_testcases/solana/issues678.sol:32:24-28"]
	return_84 [label="return\ntests/contract_testcases/solana/issues678.sol:35:9-21"]
	bool_literal_85 [label="bool literal: false\ntests/contract_testcases/solana/issues678.sol:35:16-21"]
	withdraw [label="function withdraw\ncontract: Shares\ntests/contract_testcases/solana/issues678.sol:41:5-33\nsignature withdraw()\nvisibility external\nmutability nonpayable"]
	tags_87 [label="dev: Allow a share owner to retrieve his money. It empty the money contained inside of the smart contract to give it to owners."]
	expr_88 [label="expression\ntests/contract_testcases/solana/issues678.sol:42:9-91"]
	builtins_89 [label="builtin Require\ntests/contract_testcases/solana/issues678.sol:42:9-16"]
	call_internal_function [label="call internal function\ntests/contract_testcases/solana/issues678.sol:42:17-39"]
	internal_function [label="function() internal view returns (bool)\nShares._senderIsAShareOwner\ntests/contract_testcases/solana/issues678.sol:42:17-39"]
	alloc_array_92 [label="alloc array string\ninitializer: 596f752063616e277420776974686472617720696620796f7520617265206e6f742061207368617265206f776e6572\ntests/contract_testcases/solana/issues678.sol:42:41-90"]
	number_literal_93 [label="uint32 literal: 47\ntests/contract_testcases/solana/issues678.sol:42:41-90"]
	var_decl_94 [label="variable decl uint256 curr_balance\ntests/contract_testcases/solana/issues678.sol:43:9-50"]
	sign_ext [label="sign extend uint256\ntests/contract_testcases/solana/issues678.sol:43:29-50"]
	builtins_96 [label="builtin Balance\ntests/contract_testcases/solana/issues678.sol:43:29-50"]
	cast_97 [label="cast address\ntests/contract_testcases/solana/issues678.sol:43:29-42"]
	builtins_98 [label="builtin GetAddress\ntests/contract_testcases/solana/issues678.sol:43:37-41"]
	expr_99 [label="expression\ntests/contract_testcases/solana/issues678.sol:44:9-66"]
	builtins_100 [label="builtin Require\ntests/contract_testcases/solana/issues678.sol:44:9-16"]
	more [label="more\ntests/contract_testcases/solana/issues678.sol:44:17-33"]
	variable_102 [label="variable: curr_balance\nuint256\ntests/contract_testcases/solana/issues678.sol:44:17-29"]
	number_literal_103 [label="uint256 literal: 0\ntests/contract_testcases/solana/issues678.sol:44:32-33"]
	alloc_array_104 [label="alloc array string\ninitializer: 5468657265206973206e6f7468696e6720746f207769746864726177\ntests/contract_testcases/solana/issues678.sol:44:35-65"]
	number_literal_105 [label="uint32 literal: 28\ntests/contract_testcases/solana/issues678.sol:44:35-65"]
	for_106 [label="for\ntests/contract_testcases/solana/issues678.sol:45:9-49:10"]
	var_decl_107 [label="variable decl uint256 i\ntests/contract_testcases/solana/issues678.sol:45:14-24"]
	number_literal_108 [label="uint256 literal: 0\ntests/contract_testcases/solana/issues678.sol:45:23-24"]
	less_109 [label="less\ntests/contract_testcases/solana/issues678.sol:45:26-44"]
	variable_110 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:45:26-27"]
	zero_ext_111 [label="zero extend uint256\ntests/contract_testcases/solana/issues678.sol:45:30-44"]
	array_length_112 [label="array length uint32\nelement struct Shares.Share\ntests/contract_testcases/solana/issues678.sol:45:38-44"]
	storage_var_113 [label="storage variable\nShares._shares\nstruct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:45:30-37"]
	expr_114 [label="expression\ntests/contract_testcases/solana/issues678.sol:45:46-49"]
	post_increment_115 [label="post increment\nuint256\ntests/contract_testcases/solana/issues678.sol:45:46-49"]
	variable_116 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:45:46-47"]
	var_decl_117 [label="variable decl uint256 to_transfer\ntests/contract_testcases/solana/issues678.sol:46:13-71"]
	divide [label="divide\nuint256\ntests/contract_testcases/solana/issues678.sol:46:32-71"]
	multiply [label="multiply\nuint256\ntests/contract_testcases/solana/issues678.sol:46:32-64"]
	variable_120 [label="variable: curr_balance\nuint256\ntests/contract_testcases/solana/issues678.sol:46:32-44"]
	storage_load_121 [label="storage load uint256\ntests/contract_testcases/solana/issues678.sol:46:47-64"]
	structmember_122 [label="struct member #1 uint256 storage\ntests/contract_testcases/solana/issues678.sol:46:58-64"]
	subscript_123 [label="subscript struct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:46:47-57"]
	storage_var_124 [label="storage variable\nShares._shares\nstruct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:46:47-54"]
	variable_125 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:46:55-56"]
	number_literal_126 [label="uint256 literal: 1000\ntests/contract_testcases/solana/issues678.sol:46:67-71"]
	expr_127 [label="expression\ntests/contract_testcases/solana/issues678.sol:47:13-64"]
	builtins_128 [label="builtin PayableTransfer\ntests/contract_testcases/solana/issues678.sol:47:13-64"]
	storage_load_129 [label="storage load address payable\ntests/contract_testcases/solana/issues678.sol:47:24-34"]
	structmember_130 [label="struct member #0 address payable storage\ntests/contract_testcases/solana/issues678.sol:47:24-34"]
	subscript_131 [label="subscript struct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:47:13-23"]
	storage_var_132 [label="storage variable\nShares._shares\nstruct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:47:13-20"]
	variable_133 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:47:21-22"]
	cast_134 [label="cast uint64\ntests/contract_testcases/solana/issues678.sol:47:44-63"]
	trunc [label="truncate uint64\ntests/contract_testcases/solana/issues678.sol:47:44-63"]
	variable_136 [label="variable: to_transfer\nuint256\ntests/contract_testcases/solana/issues678.sol:47:51-62"]
	emit [label="emit\nevent Shares.Transfer\ntests/contract_testcases/solana/issues678.sol:48:13-76"]
	cast_138 [label="cast address\ntests/contract_testcases/solana/issues678.sol:48:38-48"]
	storage_load_139 [label="storage load address payable\ntests/contract_testcases/solana/issues678.sol:48:38-48"]
	structmember_140 [label="struct member #0 address payable storage\ntests/contract_testcases/solana/issues678.sol:48:38-48"]
	subscript_141 [label="subscript struct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:48:27-37"]
	storage_var_142 [label="storage variable\nShares._shares\nstruct Shares.Share[] storage\ntests/contract_testcases/solana/issues678.sol:48:27-34"]
	variable_143 [label="variable: i\nuint256\ntests/contract_testcases/solana/issues678.sol:48:35-36"]
	variable_144 [label="variable: to_transfer\nuint256\ntests/contract_testcases/solana/issues678.sol:48:50-61"]
	variable_145 [label="variable: curr_balance\nuint256\ntests/contract_testcases/solana/issues678.sol:48:63-75"]
	if_146 [label="if\ntests/contract_testcases/solana/issues678.sol:50:9-54:10"]
	more_147 [label="more\ntests/contract_testcases/solana/issues678.sol:50:13-38"]
	cast_148 [label="cast uint64\ntests/contract_testcases/solana/issues678.sol:50:13-34"]
	builtins_149 [label="builtin Balance\ntests/contract_testcases/solana/issues678.sol:50:13-34"]
	cast_150 [label="cast address\ntests/contract_testcases/solana/issues678.sol:50:13-26"]
	builtins_151 [label="builtin GetAddress\ntests/contract_testcases/solana/issues678.sol:50:21-25"]
	number_literal_152 [label="uint64 literal: 0\ntests/contract_testcases/solana/issues678.sol:50:37-38"]
	expr_153 [label="expression\ntests/contract_testcases/solana/issues678.sol:53:13-64"]
	builtins_154 [label="builtin PayableTransfer\ntests/contract_testcases/solana/issues678.sol:53:13-64"]
	builtins_155 [label="builtin Sender\ntests/contract_testcases/solana/issues678.sol:53:21-31"]
	builtins_156 [label="builtin Balance\ntests/contract_testcases/solana/issues678.sol:53:42-63"]
	cast_157 [label="cast address\ntests/contract_testcases/solana/issues678.sol:53:42-55"]
	builtins_158 [label="builtin GetAddress\ntests/contract_testcases/solana/issues678.sol:53:50-54"]
	diagnostic [label="pragma 'solidity' is ignored\nlevel Debug\ntests/contract_testcases/solana/issues678.sol:2:1-23"]
	diagnostic_161 [label="found contract 'Shares'\nlevel Debug\ntests/contract_testcases/solana/issues678.sol:4:1-56:2"]
	structs -> Share
	events -> Transfer
	contracts -> contract
	contract -> var [label="variable"]
	contract -> node_7 [label="constructor"]
	node_7 -> tags [label="tags"]
	node_7 -> expr [label="body"]
	expr -> builtins [label="expr"]
	builtins -> storage_var [label="arg #0"]
	builtins -> struct_literal [label="arg #1"]
	struct_literal -> builtins_13 [label="arg #0"]
	struct_literal -> number_literal [label="arg #1"]
	contract -> getShares [label="function"]
	getShares -> returns [label="returns"]
	getShares -> var_decl [label="body"]
	var_decl -> alloc_array [label="init"]
	alloc_array -> array_length [label="length"]
	array_length -> storage_var_20 [label="array"]
	var_decl -> var_decl_21 [label="next"]
	var_decl_21 -> alloc_array_22 [label="init"]
	alloc_array_22 -> array_length_23 [label="length"]
	array_length_23 -> storage_var_24 [label="array"]
	var_decl_21 -> for [label="next"]
	for -> var_decl_26 [label="init"]
	var_decl_26 -> number_literal_27 [label="init"]
	for -> less [label="cond"]
	less -> variable [label="left"]
	less -> zero_ext [label="right"]
	zero_ext -> array_length_31 [label="expr"]
	array_length_31 -> storage_var_32 [label="array"]
	for -> expr_33 [label="next"]
	expr_33 -> post_increment [label="expr"]
	post_increment -> variable_35 [label="expr"]
	for -> expr_36 [label="body"]
	expr_36 -> assign [label="expr"]
	assign -> subscript [label="left"]
	subscript -> variable_39 [label="array"]
	subscript -> variable_40 [label="index"]
	assign -> cast [label="right"]
	cast -> storage_load [label="expr"]
	storage_load -> structmember [label="expr"]
	structmember -> subscript_44 [label="var"]
	subscript_44 -> storage_var_45 [label="array"]
	subscript_44 -> variable_46 [label="index"]
	expr_36 -> expr_47 [label="next"]
	expr_47 -> assign_48 [label="expr"]
	assign_48 -> subscript_49 [label="left"]
	subscript_49 -> variable_50 [label="array"]
	subscript_49 -> variable_51 [label="index"]
	assign_48 -> storage_load_52 [label="right"]
	storage_load_52 -> structmember_53 [label="expr"]
	structmember_53 -> subscript_54 [label="var"]
	subscript_54 -> storage_var_55 [label="array"]
	subscript_54 -> variable_56 [label="index"]
	for -> return [label="next"]
	return -> list [label="expr"]
	list -> variable_59 [label="entry #0"]
	list -> variable_60 [label="entry #1"]
	contract -> _senderIsAShareOwner [label="function"]
	_senderIsAShareOwner -> returns_62 [label="returns"]
	_senderIsAShareOwner -> for_63 [label="body"]
	for_63 -> var_decl_64 [label="init"]
	var_decl_64 -> number_literal_65 [label="init"]
	for_63 -> less_66 [label="cond"]
	less_66 -> variable_67 [label="left"]
	less_66 -> zero_ext_68 [label="right"]
	zero_ext_68 -> array_length_69 [label="expr"]
	array_length_69 -> storage_var_70 [label="array"]
	for_63 -> expr_71 [label="next"]
	expr_71 -> post_increment_72 [label="expr"]
	post_increment_72 -> variable_73 [label="expr"]
	for_63 -> if [label="body"]
	if -> equal [label="cond"]
	equal -> storage_load_76 [label="left"]
	storage_load_76 -> structmember_77 [label="expr"]
	structmember_77 -> subscript_78 [label="var"]
	subscript_78 -> storage_var_79 [label="array"]
	subscript_78 -> variable_80 [label="index"]
	equal -> builtins_81 [label="right"]
	if -> return_82 [label="then"]
	return_82 -> bool_literal [label="expr"]
	for_63 -> return_84 [label="next"]
	return_84 -> bool_literal_85 [label="expr"]
	contract -> withdraw [label="function"]
	withdraw -> tags_87 [label="tags"]
	withdraw -> expr_88 [label="body"]
	expr_88 -> builtins_89 [label="expr"]
	builtins_89 -> call_internal_function [label="arg #0"]
	call_internal_function -> internal_function [label="function"]
	builtins_89 -> alloc_array_92 [label="arg #1"]
	alloc_array_92 -> number_literal_93 [label="length"]
	expr_88 -> var_decl_94 [label="next"]
	var_decl_94 -> sign_ext [label="init"]
	sign_ext -> builtins_96 [label="expr"]
	builtins_96 -> cast_97 [label="arg #0"]
	cast_97 -> builtins_98 [label="expr"]
	var_decl_94 -> expr_99 [label="next"]
	expr_99 -> builtins_100 [label="expr"]
	builtins_100 -> more [label="arg #0"]
	more -> variable_102 [label="left"]
	more -> number_literal_103 [label="right"]
	builtins_100 -> alloc_array_104 [label="arg #1"]
	alloc_array_104 -> number_literal_105 [label="length"]
	expr_99 -> for_106 [label="next"]
	for_106 -> var_decl_107 [label="init"]
	var_decl_107 -> number_literal_108 [label="init"]
	for_106 -> less_109 [label="cond"]
	less_109 -> variable_110 [label="left"]
	less_109 -> zero_ext_111 [label="right"]
	zero_ext_111 -> array_length_112 [label="expr"]
	array_length_112 -> storage_var_113 [label="array"]
	for_106 -> expr_114 [label="next"]
	expr_114 -> post_increment_115 [label="expr"]
	post_increment_115 -> variable_116 [label="expr"]
	for_106 -> var_decl_117 [label="body"]
	var_decl_117 -> divide [label="init"]
	divide -> multiply [label="left"]
	multiply -> variable_120 [label="left"]
	multiply -> storage_load_121 [label="right"]
	storage_load_121 -> structmember_122 [label="expr"]
	structmember_122 -> subscript_123 [label="var"]
	subscript_123 -> storage_var_124 [label="array"]
	subscript_123 -> variable_125 [label="index"]
	divide -> number_literal_126 [label="right"]
	var_decl_117 -> expr_127 [label="next"]
	expr_127 -> builtins_128 [label="expr"]
	builtins_128 -> storage_load_129 [label="arg #0"]
	storage_load_129 -> structmember_130 [label="expr"]
	structmember_130 -> subscript_131 [label="var"]
	subscript_131 -> storage_var_132 [label="array"]
	subscript_131 -> variable_133 [label="index"]
	builtins_128 -> cast_134 [label="arg #1"]
	cast_134 -> trunc [label="expr"]
	trunc -> variable_136 [label="expr"]
	expr_127 -> emit [label="next"]
	emit -> cast_138 [label="arg #0"]
	cast_138 -> storage_load_139 [label="expr"]
	storage_load_139 -> structmember_140 [label="expr"]
	structmember_140 -> subscript_141 [label="var"]
	subscript_141 -> storage_var_142 [label="array"]
	subscript_141 -> variable_143 [label="index"]
	emit -> variable_144 [label="arg #1"]
	emit -> variable_145 [label="arg #2"]
	for_106 -> if_146 [label="next"]
	if_146 -> more_147 [label="cond"]
	more_147 -> cast_148 [label="left"]
	cast_148 -> builtins_149 [label="expr"]
	builtins_149 -> cast_150 [label="arg #0"]
	cast_150 -> builtins_151 [label="expr"]
	more_147 -> number_literal_152 [label="right"]
	if_146 -> expr_153 [label="then"]
	expr_153 -> builtins_154 [label="expr"]
	builtins_154 -> builtins_155 [label="arg #0"]
	builtins_154 -> builtins_156 [label="arg #1"]
	builtins_156 -> cast_157 [label="arg #0"]
	cast_157 -> builtins_158 [label="expr"]
	diagnostics -> diagnostic [label="Debug"]
	diagnostics -> diagnostic_161 [label="Debug"]
}
