program PointerTypeAlias {
	section module {
 
	}
	section data {
		int rax = 0
		int rbx = 0
		int rcx = 0
		int rsi = 0
		int rdi = 0
		string fmt_int = "%lld "
		string newline = "\n"
		ptr p = null
		ptr q = null
		int sum = 0
	}
	section code {
	start:
		alloc p, 8, 1
		free p
		alloc q, 8, 1
		free q
		store 123, p, 0, 1
		store 456, q, 0, 1
		load rbx, p, 0, 1
		load rcx, q, 0, 1
		mov sum, rbx
		add sum, rcx
		load rsi, p, 0, 1
		print fmt_int, rsi
		print newline
		load rdi, q, 0, 1
		print fmt_int, rdi
		print newline
		print fmt_int, sum
		print newline
		free p
		free q
		done
	}
}