LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_lea_x_x
static void _asm_inst_lea_x_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	const char *mnemonic = "leaq";

	_asm_inst2(
		ctx,
		rstr,
		mnemonic,
		source,
		target
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x33a31
jmp 0x33a50
leaq 0x4c729(%rip), %rdi     # 0x80161
leaq 0x470c5(%rip), %rsi     # 0x7ab04
movl $0x347, %edx            # imm = 0x347
leaq 0x47967(%rip), %rcx     # 0x7b3b2
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x33a59
jmp 0x33a78
leaq 0x400ad(%rip), %rdi     # 0x73b0d
leaq 0x4709d(%rip), %rsi     # 0x7ab04
movl $0x348, %edx            # imm = 0x348
leaq 0x4793f(%rip), %rcx     # 0x7b3b2
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x33a81
jmp 0x33aa0
leaq 0x4b8ac(%rip), %rdi     # 0x7f334
leaq 0x47075(%rip), %rsi     # 0x7ab04
movl $0x349, %edx            # imm = 0x349
leaq 0x47917(%rip), %rcx     # 0x7b3b2
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x33aa9
jmp 0x33ac8
leaq 0x48784(%rip), %rdi     # 0x7c234
leaq 0x4704d(%rip), %rsi     # 0x7ab04
movl $0x34a, %edx            # imm = 0x34A
leaq 0x478ef(%rip), %rcx     # 0x7b3b2
callq 0x30a0
leaq 0x47945(%rip), %rax     # 0x7b414
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %r8
callq 0x33900
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_movsx_x_x
static void _asm_inst_movsx_x_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	uint8_t target_type,
	const char *target,
	uint8_t source_type,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	ResizableString rstr_mnemonic;
	rstr_init_with_cstr(&rstr_mnemonic, "movs");
	rstr_append_with_char(
		&rstr_mnemonic,
		_asm_inst_type_suffix(ctx, source_type)
	);
	rstr_append_with_char(
		&rstr_mnemonic,
		_asm_inst_type_suffix(ctx, target_type)
	);

	_asm_inst2(
		ctx,
		rstr,
		RSTR_CSTR(&rstr_mnemonic),
		source,
		target
	);

	rstr_free(&rstr_mnemonic);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movb %r8b, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb %dl, -0x11(%rbp)
movq %rcx, -0x20(%rbp)
movb %al, -0x21(%rbp)
movq %r9, -0x30(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x3436a
jmp 0x34389
leaq 0x4bdf0(%rip), %rdi     # 0x80161
leaq 0x4678c(%rip), %rsi     # 0x7ab04
movl $0x444, %edx            # imm = 0x444
leaq 0x4724f(%rip), %rcx     # 0x7b5d3
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x34392
jmp 0x343b1
leaq 0x3f774(%rip), %rdi     # 0x73b0d
leaq 0x46764(%rip), %rsi     # 0x7ab04
movl $0x445, %edx            # imm = 0x445
leaq 0x47227(%rip), %rcx     # 0x7b5d3
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x343ba
jmp 0x343d9
leaq 0x4af73(%rip), %rdi     # 0x7f334
leaq 0x4673c(%rip), %rsi     # 0x7ab04
movl $0x446, %edx            # imm = 0x446
leaq 0x471ff(%rip), %rcx     # 0x7b5d3
callq 0x30a0
cmpq $0x0, -0x30(%rbp)
je 0x343e2
jmp 0x34401
leaq 0x47e4b(%rip), %rdi     # 0x7c234
leaq 0x46714(%rip), %rsi     # 0x7ab04
movl $0x447, %edx            # imm = 0x447
leaq 0x471d7(%rip), %rcx     # 0x7b5d3
callq 0x30a0
leaq -0x40(%rbp), %rdi
leaq 0x4341c(%rip), %rsi     # 0x77828
callq 0x8cf0
movq -0x8(%rbp), %rdi
movzbl -0x21(%rbp), %esi
callq 0x33860
leaq -0x40(%rbp), %rdi
movsbl %al, %esi
callq 0x8ea0
movq -0x8(%rbp), %rdi
movzbl -0x11(%rbp), %esi
callq 0x33860
leaq -0x40(%rbp), %rdi
movsbl %al, %esi
callq 0x8ea0
movq -0x8(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x48(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x34467
leaq 0x41ade(%rip), %rax     # 0x75f3f
movq %rax, -0x58(%rbp)
jmp 0x3446f
movq -0x38(%rbp), %rax
movq %rax, -0x58(%rbp)
movq -0x48(%rbp), %rsi
movq -0x50(%rbp), %rdi
movq -0x58(%rbp), %rdx
movq -0x30(%rbp), %rcx
movq -0x20(%rbp), %r8
callq 0x33900
leaq -0x40(%rbp), %rdi
callq 0x9310
addq $0x60, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_mov_reg64_imm64
static void _asm_inst_mov_reg64_imm64(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);
	
	const char *mnemonic = "movabsq";

	_asm_inst2(
		ctx,
		rstr,
		mnemonic,
		source,
		target
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x344c1
jmp 0x344e0
leaq 0x4bc99(%rip), %rdi     # 0x80161
leaq 0x46635(%rip), %rsi     # 0x7ab04
movl $0x2dd, %edx            # imm = 0x2DD
leaq 0x4716e(%rip), %rcx     # 0x7b649
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x344e9
jmp 0x34508
leaq 0x3f61d(%rip), %rdi     # 0x73b0d
leaq 0x4660d(%rip), %rsi     # 0x7ab04
movl $0x2de, %edx            # imm = 0x2DE
leaq 0x47146(%rip), %rcx     # 0x7b649
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x34511
jmp 0x34530
leaq 0x4ae1c(%rip), %rdi     # 0x7f334
leaq 0x465e5(%rip), %rsi     # 0x7ab04
movl $0x2df, %edx            # imm = 0x2DF
leaq 0x4711e(%rip), %rcx     # 0x7b649
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x34539
jmp 0x34558
leaq 0x47cf4(%rip), %rdi     # 0x7c234
leaq 0x465bd(%rip), %rsi     # 0x7ab04
movl $0x2e0, %edx            # imm = 0x2E0
leaq 0x470f6(%rip), %rcx     # 0x7b649
callq 0x30a0
leaq 0x47154(%rip), %rax     # 0x7b6b3
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %r8
callq 0x33900
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst1
static void _asm_inst1(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *mnemonic,
	const char *arg1
) {
	assert(ctx);
	assert(rstr);
	assert(mnemonic);
	assert(arg1);

	rstr_appendf(
		rstr,
		"%s %s\n",
		mnemonic,
		arg1
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x34991
jmp 0x349b0
leaq 0x4b7c9(%rip), %rdi     # 0x80161
leaq 0x46165(%rip), %rsi     # 0x7ab04
movl $0x279, %edx            # imm = 0x279
leaq 0x46ea0(%rip), %rcx     # 0x7b84b
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x349b9
jmp 0x349d8
leaq 0x3f14d(%rip), %rdi     # 0x73b0d
leaq 0x4613d(%rip), %rsi     # 0x7ab04
movl $0x27a, %edx            # imm = 0x27A
leaq 0x46e78(%rip), %rcx     # 0x7b84b
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x349e1
jmp 0x34a00
leaq 0x41c99(%rip), %rdi     # 0x76681
leaq 0x46115(%rip), %rsi     # 0x7ab04
movl $0x27b, %edx            # imm = 0x27B
leaq 0x46e50(%rip), %rcx     # 0x7b84b
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x34a09
jmp 0x34a28
leaq 0x41c7a(%rip), %rdi     # 0x7668a
leaq 0x460ed(%rip), %rsi     # 0x7ab04
movl $0x27c, %edx            # imm = 0x27C
leaq 0x46e28(%rip), %rcx     # 0x7b84b
callq 0x30a0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
leaq 0x42403(%rip), %rsi     # 0x76e3e
movb $0x0, %al
callq 0x94d0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: out_label
static void _out_label(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *prefix,
	ParserASTNode *node_id
) {
	assert(ctx);
	assert(rstr);
	assert(node_id);

	ResizableString rstr_id;
	rstr_init_with_raw(&rstr_id, node_id->token->content, node_id->token->len);
	__out_label(ctx, rstr, prefix, RSTR_CSTR(&rstr_id));
	rstr_free(&rstr_id);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x34a71
jmp 0x34a90
leaq 0x4b6e9(%rip), %rdi     # 0x80161
leaq 0x46085(%rip), %rsi     # 0x7ab04
movl $0xeac, %edx            # imm = 0xEAC
leaq 0x46f00(%rip), %rcx     # 0x7b98b
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x34a99
jmp 0x34ab8
leaq 0x3f06d(%rip), %rdi     # 0x73b0d
leaq 0x4605d(%rip), %rsi     # 0x7ab04
movl $0xead, %edx            # imm = 0xEAD
leaq 0x46ed8(%rip), %rcx     # 0x7b98b
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x34ac1
jmp 0x34ae0
leaq 0x4255c(%rip), %rdi     # 0x77024
leaq 0x46035(%rip), %rsi     # 0x7ab04
movl $0xeae, %edx            # imm = 0xEAE
leaq 0x46eb0(%rip), %rcx     # 0x7b98b
callq 0x30a0
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %rsi
movq -0x20(%rbp), %rax
movq 0x10(%rax), %rax
movl 0x4(%rax), %edx
leaq -0x30(%rbp), %rdi
callq 0x8ee0
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x34b2c
leaq 0x41419(%rip), %rax     # 0x75f3f
movq %rax, -0x50(%rbp)
jmp 0x34b34
movq -0x28(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x38(%rbp), %rdx
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rcx
callq 0x29fe0
leaq -0x30(%rbp), %rdi
callq 0x9310
addq $0x50, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_jmp_x
static void _asm_inst_jmp_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "jmp";

	_asm_inst1(ctx, rstr, mnemonic, target);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x34b7d
jmp 0x34b9c
leaq 0x4b5dd(%rip), %rdi     # 0x80161
leaq 0x45f79(%rip), %rsi     # 0x7ab04
movl $0x3cf, %edx            # imm = 0x3CF
leaq 0x46e91(%rip), %rcx     # 0x7ba28
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x34ba5
jmp 0x34bc4
leaq 0x3ef61(%rip), %rdi     # 0x73b0d
leaq 0x45f51(%rip), %rsi     # 0x7ab04
movl $0x3d0, %edx            # imm = 0x3D0
leaq 0x46e69(%rip), %rcx     # 0x7ba28
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x34bcd
jmp 0x34bec
leaq 0x4a760(%rip), %rdi     # 0x7f334
leaq 0x45f29(%rip), %rsi     # 0x7ab04
movl $0x3d1, %edx            # imm = 0x3D1
leaq 0x46e41(%rip), %rcx     # 0x7ba28
callq 0x30a0
leaq 0x424e8(%rip), %rax     # 0x770db
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x34970
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_cmp_sym_x
static void _asm_inst_cmp_sym_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	ParserSymbol *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	_asm_inst_cmp_x_x(
		ctx,
		rstr,
		BE_VAR_SYMBOL_GET_TYPE(target),
		RSTR_CSTR(BE_VAR_SYMBOL_GET_CODE_GEN_NAME(target)),
		source
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x34c41
jmp 0x34c60
leaq 0x4b519(%rip), %rdi     # 0x80161
leaq 0x45eb5(%rip), %rsi     # 0x7ab04
movl $0x42a, %edx            # imm = 0x42A
leaq 0x46e5f(%rip), %rcx     # 0x7baba
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x34c69
jmp 0x34c88
leaq 0x3ee9d(%rip), %rdi     # 0x73b0d
leaq 0x45e8d(%rip), %rsi     # 0x7ab04
movl $0x42b, %edx            # imm = 0x42B
leaq 0x46e37(%rip), %rcx     # 0x7baba
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x34c91
jmp 0x34cb0
leaq 0x4a69c(%rip), %rdi     # 0x7f334
leaq 0x45e65(%rip), %rsi     # 0x7ab04
movl $0x42c, %edx            # imm = 0x42C
leaq 0x46e0f(%rip), %rcx     # 0x7baba
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x34cb9
jmp 0x34cd8
leaq 0x47574(%rip), %rdi     # 0x7c234
leaq 0x45e3d(%rip), %rsi     # 0x7ab04
movl $0x42d, %edx            # imm = 0x42D
leaq 0x46de7(%rip), %rcx     # 0x7baba
callq 0x30a0
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movb 0x30(%rax), %al
movb %al, -0x21(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x34d0a
leaq 0x4123b(%rip), %rax     # 0x75f3f
movq %rax, -0x40(%rbp)
jmp 0x34d16
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x40(%rbp)
movb -0x21(%rbp), %al
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rcx
movq -0x20(%rbp), %r8
movzbl %al, %edx
callq 0x34d40
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_cmp_x_x
static void _asm_inst_cmp_x_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	uint8_t type,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	ResizableString rstr_mnemonic;
	rstr_init_with_cstr(&rstr_mnemonic, "cmp");
	rstr_append_with_char(
		&rstr_mnemonic,
		_asm_inst_type_suffix(ctx, type)
	);

	_asm_inst2(
		ctx,
		rstr,
		RSTR_CSTR(&rstr_mnemonic),
		source,
		target
	);

	rstr_free(&rstr_mnemonic);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x34d66
jmp 0x34d85
leaq 0x4b3f4(%rip), %rdi     # 0x80161
leaq 0x45d90(%rip), %rsi     # 0x7ab04
movl $0x40d, %edx            # imm = 0x40D
leaq 0x46da0(%rip), %rcx     # 0x7bb20
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x34d8e
jmp 0x34dad
leaq 0x3ed78(%rip), %rdi     # 0x73b0d
leaq 0x45d68(%rip), %rsi     # 0x7ab04
movl $0x40e, %edx            # imm = 0x40E
leaq 0x46d78(%rip), %rcx     # 0x7bb20
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x34db6
jmp 0x34dd5
leaq 0x4a577(%rip), %rdi     # 0x7f334
leaq 0x45d40(%rip), %rsi     # 0x7ab04
movl $0x40f, %edx            # imm = 0x40F
leaq 0x46d50(%rip), %rcx     # 0x7bb20
callq 0x30a0
cmpq $0x0, -0x28(%rbp)
je 0x34dde
jmp 0x34dfd
leaq 0x4744f(%rip), %rdi     # 0x7c234
leaq 0x45d18(%rip), %rsi     # 0x7ab04
movl $0x410, %edx            # imm = 0x410
leaq 0x46d28(%rip), %rcx     # 0x7bb20
callq 0x30a0
leaq -0x38(%rbp), %rdi
leaq 0x424dd(%rip), %rsi     # 0x772e5
callq 0x8cf0
movq -0x8(%rbp), %rdi
movzbl -0x11(%rbp), %esi
callq 0x33860
leaq -0x38(%rbp), %rdi
movsbl %al, %esi
callq 0x8ea0
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
cmpq $0x0, -0x30(%rbp)
jne 0x34e4a
leaq 0x410fb(%rip), %rax     # 0x75f3f
movq %rax, -0x50(%rbp)
jmp 0x34e52
movq -0x30(%rbp), %rax
movq %rax, -0x50(%rbp)
movq -0x40(%rbp), %rsi
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rdx
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %r8
callq 0x33900
leaq -0x38(%rbp), %rdi
callq 0x9310
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_je_x
static void _asm_inst_je_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "je";

	_asm_inst1(ctx, rstr, mnemonic, target);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x34e9d
jmp 0x34ebc
leaq 0x4b2bd(%rip), %rdi     # 0x80161
leaq 0x45c59(%rip), %rsi     # 0x7ab04
movl $0x3dd, %edx            # imm = 0x3DD
leaq 0x46cd4(%rip), %rcx     # 0x7bb8b
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x34ec5
jmp 0x34ee4
leaq 0x3ec41(%rip), %rdi     # 0x73b0d
leaq 0x45c31(%rip), %rsi     # 0x7ab04
movl $0x3de, %edx            # imm = 0x3DE
leaq 0x46cac(%rip), %rcx     # 0x7bb8b
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x34eed
jmp 0x34f0c
leaq 0x4a440(%rip), %rdi     # 0x7f334
leaq 0x45c09(%rip), %rsi     # 0x7ab04
movl $0x3df, %edx            # imm = 0x3DF
leaq 0x46c84(%rip), %rcx     # 0x7bb8b
callq 0x30a0
leaq 0x46cc9(%rip), %rax     # 0x7bbdc
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x34970
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_jne_x
static void _asm_inst_jne_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "jne";

	_asm_inst1(ctx, rstr, mnemonic, target);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x34f5d
jmp 0x34f7c
leaq 0x4b1fd(%rip), %rdi     # 0x80161
leaq 0x45b99(%rip), %rsi     # 0x7ab04
movl $0x3eb, %edx            # imm = 0x3EB
leaq 0x46c68(%rip), %rcx     # 0x7bbdf
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x34f85
jmp 0x34fa4
leaq 0x3eb81(%rip), %rdi     # 0x73b0d
leaq 0x45b71(%rip), %rsi     # 0x7ab04
movl $0x3ec, %edx            # imm = 0x3EC
leaq 0x46c40(%rip), %rcx     # 0x7bbdf
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x34fad
jmp 0x34fcc
leaq 0x4a380(%rip), %rdi     # 0x7f334
leaq 0x45b49(%rip), %rsi     # 0x7ab04
movl $0x3ed, %edx            # imm = 0x3ED
leaq 0x46c18(%rip), %rcx     # 0x7bbdf
callq 0x30a0
leaq 0x46c5e(%rip), %rax     # 0x7bc31
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x34970
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_lea_sym_sym
static void _asm_inst_lea_sym_sym(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	ParserSymbol *target,
	ParserSymbol *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);
	assert(BE_VAR_SYMBOL_GET_TYPE(target) == BE_TYPE_POINTER);

	const char *reg = _ASM_REG_NAME_RAX;

	_asm_inst_lea_x_sym(ctx, rstr, reg, source);
	_asm_inst_mov_sym_x(ctx, rstr, target, reg);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x35021
jmp 0x35040
leaq 0x4b139(%rip), %rdi     # 0x80161
leaq 0x45ad5(%rip), %rsi     # 0x7ab04
movl $0x370, %edx            # imm = 0x370
leaq 0x46c7d(%rip), %rcx     # 0x7bcb8
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x35049
jmp 0x35068
leaq 0x3eabd(%rip), %rdi     # 0x73b0d
leaq 0x45aad(%rip), %rsi     # 0x7ab04
movl $0x371, %edx            # imm = 0x371
leaq 0x46c55(%rip), %rcx     # 0x7bcb8
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x35071
jmp 0x35090
leaq 0x4a2bc(%rip), %rdi     # 0x7f334
leaq 0x45a85(%rip), %rsi     # 0x7ab04
movl $0x372, %edx            # imm = 0x372
leaq 0x46c2d(%rip), %rcx     # 0x7bcb8
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x35099
jmp 0x350b8
leaq 0x47194(%rip), %rdi     # 0x7c234
leaq 0x45a5d(%rip), %rsi     # 0x7ab04
movl $0x373, %edx            # imm = 0x373
leaq 0x46c05(%rip), %rcx     # 0x7bcb8
callq 0x30a0
movq -0x18(%rbp), %rax
movzbl 0x30(%rax), %eax
cmpl $0x10, %eax
jne 0x350c7
jmp 0x350e6
leaq 0x42444(%rip), %rdi     # 0x77512
leaq 0x45a2f(%rip), %rsi     # 0x7ab04
movl $0x374, %edx            # imm = 0x374
leaq 0x46bd7(%rip), %rcx     # 0x7bcb8
callq 0x30a0
leaq 0x45fcd(%rip), %rax     # 0x7b0ba
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x35130
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x28(%rbp), %rcx
callq 0x32d40
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_lea_x_sym
static void _asm_inst_lea_x_sym(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	ParserSymbol *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	_asm_inst_lea_x_x(
		ctx,
		rstr,
		target,
		RSTR_CSTR(BE_VAR_SYMBOL_GET_CODE_GEN_NAME(source))
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x35151
jmp 0x35170
leaq 0x4b009(%rip), %rdi     # 0x80161
leaq 0x459a5(%rip), %rsi     # 0x7ab04
movl $0x35d, %edx            # imm = 0x35D
leaq 0x46bb7(%rip), %rcx     # 0x7bd22
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x35179
jmp 0x35198
leaq 0x3e98d(%rip), %rdi     # 0x73b0d
leaq 0x4597d(%rip), %rsi     # 0x7ab04
movl $0x35e, %edx            # imm = 0x35E
leaq 0x46b8f(%rip), %rcx     # 0x7bd22
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x351a1
jmp 0x351c0
leaq 0x4a18c(%rip), %rdi     # 0x7f334
leaq 0x45955(%rip), %rsi     # 0x7ab04
movl $0x35f, %edx            # imm = 0x35F
leaq 0x46b67(%rip), %rcx     # 0x7bd22
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x351c9
jmp 0x351e8
leaq 0x47064(%rip), %rdi     # 0x7c234
leaq 0x4592d(%rip), %rsi     # 0x7ab04
movl $0x360, %edx            # imm = 0x360
leaq 0x46b3f(%rip), %rcx     # 0x7bd22
callq 0x30a0
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x35218
leaq 0x40d2d(%rip), %rax     # 0x75f3f
movq %rax, -0x40(%rbp)
jmp 0x35224
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rcx
callq 0x33a10
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_memref_base
static void _asm_inst_memref_base(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *base
) {
	assert(ctx);
	assert(rstr);
	assert(base);

	rstr_appendf(
		rstr,
		"(%s)",
		base
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x3525d
jmp 0x3527c
leaq 0x4aefd(%rip), %rdi     # 0x80161
leaq 0x45899(%rip), %rsi     # 0x7ab04
movl $0x230, %edx            # imm = 0x230
leaq 0x46b53(%rip), %rcx     # 0x7bdca
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x35285
jmp 0x352a4
leaq 0x3e881(%rip), %rdi     # 0x73b0d
leaq 0x45871(%rip), %rsi     # 0x7ab04
movl $0x231, %edx            # imm = 0x231
leaq 0x46b2b(%rip), %rcx     # 0x7bdca
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x352ad
jmp 0x352cc
leaq 0x40d82(%rip), %rdi     # 0x76036
leaq 0x45849(%rip), %rsi     # 0x7ab04
movl $0x232, %edx            # imm = 0x232
leaq 0x46b03(%rip), %rcx     # 0x7bdca
callq 0x30a0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x40d67(%rip), %rsi     # 0x76042
movb $0x0, %al
callq 0x94d0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_movss_sym_x
static void _asm_inst_movss_sym_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	ParserSymbol *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	_asm_inst_movss_x_x(
		ctx,
		rstr,
		RSTR_CSTR(BE_VAR_SYMBOL_GET_CODE_GEN_NAME(target)),
		source
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x35481
jmp 0x354a0
leaq 0x4acd9(%rip), %rdi     # 0x80161
leaq 0x45675(%rip), %rsi     # 0x7ab04
movl $0x4c5, %edx            # imm = 0x4C5
leaq 0x46afe(%rip), %rcx     # 0x7bf99
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x354a9
jmp 0x354c8
leaq 0x3e65d(%rip), %rdi     # 0x73b0d
leaq 0x4564d(%rip), %rsi     # 0x7ab04
movl $0x4c6, %edx            # imm = 0x4C6
leaq 0x46ad6(%rip), %rcx     # 0x7bf99
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x354d1
jmp 0x354f0
leaq 0x49e5c(%rip), %rdi     # 0x7f334
leaq 0x45625(%rip), %rsi     # 0x7ab04
movl $0x4c7, %edx            # imm = 0x4C7
leaq 0x46aae(%rip), %rcx     # 0x7bf99
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x354f9
jmp 0x35518
leaq 0x46d34(%rip), %rdi     # 0x7c234
leaq 0x455fd(%rip), %rsi     # 0x7ab04
movl $0x4c8, %edx            # imm = 0x4C8
leaq 0x46a86(%rip), %rcx     # 0x7bf99
callq 0x30a0
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x35540
leaq 0x40a05(%rip), %rax     # 0x75f3f
movq %rax, -0x38(%rbp)
jmp 0x3554c
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rsi
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x357f0
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_movsd_sym_x
static void _asm_inst_movsd_sym_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	ParserSymbol *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	_asm_inst_movsd_x_x(
		ctx,
		rstr,
		RSTR_CSTR(BE_VAR_SYMBOL_GET_CODE_GEN_NAME(target)),
		source
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x35701
jmp 0x35720
leaq 0x4aa59(%rip), %rdi     # 0x80161
leaq 0x453f5(%rip), %rsi     # 0x7ab04
movl $0x505, %edx            # imm = 0x505
leaq 0x469ba(%rip), %rcx     # 0x7c0d5
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x35729
jmp 0x35748
leaq 0x3e3dd(%rip), %rdi     # 0x73b0d
leaq 0x453cd(%rip), %rsi     # 0x7ab04
movl $0x506, %edx            # imm = 0x506
leaq 0x46992(%rip), %rcx     # 0x7c0d5
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x35751
jmp 0x35770
leaq 0x49bdc(%rip), %rdi     # 0x7f334
leaq 0x453a5(%rip), %rsi     # 0x7ab04
movl $0x507, %edx            # imm = 0x507
leaq 0x4696a(%rip), %rcx     # 0x7c0d5
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x35779
jmp 0x35798
leaq 0x46ab4(%rip), %rdi     # 0x7c234
leaq 0x4537d(%rip), %rsi     # 0x7ab04
movl $0x508, %edx            # imm = 0x508
leaq 0x46942(%rip), %rcx     # 0x7c0d5
callq 0x30a0
movq -0x8(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x357c0
leaq 0x40785(%rip), %rax     # 0x75f3f
movq %rax, -0x38(%rbp)
jmp 0x357cc
movq -0x18(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x28(%rbp), %rsi
movq -0x30(%rbp), %rdi
movq -0x38(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x358e0
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_movsd_x_x
static void _asm_inst_movsd_x_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	const char *mnemonic = "movsd";

	_asm_inst2(
		ctx,
		rstr,
		mnemonic,
		source,
		target
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x35901
jmp 0x35920
leaq 0x4a859(%rip), %rdi     # 0x80161
leaq 0x451f5(%rip), %rsi     # 0x7ab04
movl $0x4ef, %edx            # imm = 0x4EF
leaq 0x46822(%rip), %rcx     # 0x7c13d
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x35929
jmp 0x35948
leaq 0x3e1dd(%rip), %rdi     # 0x73b0d
leaq 0x451cd(%rip), %rsi     # 0x7ab04
movl $0x4f0, %edx            # imm = 0x4F0
leaq 0x467fa(%rip), %rcx     # 0x7c13d
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x35951
jmp 0x35970
leaq 0x499dc(%rip), %rdi     # 0x7f334
leaq 0x451a5(%rip), %rsi     # 0x7ab04
movl $0x4f1, %edx            # imm = 0x4F1
leaq 0x467d2(%rip), %rcx     # 0x7c13d
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x35979
jmp 0x35998
leaq 0x468b4(%rip), %rdi     # 0x7c234
leaq 0x4517d(%rip), %rsi     # 0x7ab04
movl $0x4f2, %edx            # imm = 0x4F2
leaq 0x467aa(%rip), %rcx     # 0x7c13d
callq 0x30a0
leaq 0x422f2(%rip), %rax     # 0x77c91
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %r8
callq 0x33900
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: zero_extend64
static uint8_t _zero_extend64(
	ASMGeneratorGas64Context *ctx,
	int reg_target,
	ParserASTNode *node_source
) {
	assert(ctx);
	assert(node_source);

	return _move_id_or_constexpr_to_reg(
		ctx,
		reg_target,
		node_source
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x359ec
jmp 0x35a0b
leaq 0x4a76e(%rip), %rdi     # 0x80161
leaq 0x4510a(%rip), %rsi     # 0x7ab04
movl $0x1050, %edx           # imm = 0x1050
leaq 0x467e0(%rip), %rcx     # 0x7c1e6
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x35a14
jmp 0x35a33
leaq 0x46814(%rip), %rdi     # 0x7c22f
leaq 0x450e2(%rip), %rsi     # 0x7ab04
movl $0x1051, %edx           # imm = 0x1051
leaq 0x467b8(%rip), %rcx     # 0x7c1e6
callq 0x30a0
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
movq -0x18(%rbp), %rdx
callq 0x334a0
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: out_func_tmp_label
static void _out_func_tmp_label(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr
) {
	assert(ctx);
	assert(ctx->func_symbol);
	assert(rstr);

	size_t no = BE_FUNC_SYMBOL_NEXT_NO(ctx->func_symbol);
	ResizableString rstr_no;
	rstr_init(&rstr_no);
	rstr_appendf(&rstr_no, "%zu", no);

	__out_label(ctx, rstr, "FUNC_TMP", RSTR_CSTR(&rstr_no));

	rstr_free(&rstr_no);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x35ba9
jmp 0x35bc8
leaq 0x4a5b1(%rip), %rdi     # 0x80161
leaq 0x44f4d(%rip), %rsi     # 0x7ab04
movl $0xeba, %edx            # imm = 0xEBA
leaq 0x46768(%rip), %rcx     # 0x7c32b
callq 0x30a0
movq -0x8(%rbp), %rax
cmpq $0x0, 0x58(%rax)
je 0x35bd5
jmp 0x35bf4
leaq 0x404c2(%rip), %rdi     # 0x7609e
leaq 0x44f21(%rip), %rsi     # 0x7ab04
movl $0xebb, %edx            # imm = 0xEBB
leaq 0x4673c(%rip), %rcx     # 0x7c32b
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x35bfd
jmp 0x35c1c
leaq 0x3df09(%rip), %rdi     # 0x73b0d
leaq 0x44ef9(%rip), %rsi     # 0x7ab04
movl $0xebc, %edx            # imm = 0xEBC
leaq 0x46714(%rip), %rcx     # 0x7c32b
callq 0x30a0
movq -0x8(%rbp), %rax
movq 0x58(%rax), %rcx
movl 0x54(%rcx), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, 0x54(%rcx)
movl %eax, %eax
movq %rax, -0x18(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x8c90
movq -0x18(%rbp), %rdx
leaq -0x28(%rbp), %rdi
leaq 0x42774(%rip), %rsi     # 0x783c1
movb $0x0, %al
callq 0x94d0
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, -0x20(%rbp)
jne 0x35c78
leaq 0x402cd(%rip), %rax     # 0x75f3f
movq %rax, -0x40(%rbp)
jmp 0x35c80
movq -0x20(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rcx
leaq 0x42267(%rip), %rdx     # 0x77efa
callq 0x29fe0
leaq -0x28(%rbp), %rdi
callq 0x9310
addq $0x40, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_js_x
static void _asm_inst_js_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "js";

	_asm_inst1(ctx, rstr, mnemonic, target);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x35ccd
jmp 0x35cec
leaq 0x4a48d(%rip), %rdi     # 0x80161
leaq 0x44e29(%rip), %rsi     # 0x7ab04
movl $0x3f9, %edx            # imm = 0x3F9
leaq 0x4668c(%rip), %rcx     # 0x7c373
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x35cf5
jmp 0x35d14
leaq 0x3de11(%rip), %rdi     # 0x73b0d
leaq 0x44e01(%rip), %rsi     # 0x7ab04
movl $0x3fa, %edx            # imm = 0x3FA
leaq 0x46664(%rip), %rcx     # 0x7c373
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x35d1d
jmp 0x35d3c
leaq 0x49610(%rip), %rdi     # 0x7f334
leaq 0x44dd9(%rip), %rsi     # 0x7ab04
movl $0x3fb, %edx            # imm = 0x3FB
leaq 0x4663c(%rip), %rcx     # 0x7c373
callq 0x30a0
leaq 0x42211(%rip), %rax     # 0x77f54
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x34970
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_shr_x
static void _asm_inst_shr_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	uint8_t type,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(source);

	ResizableString rstr_mnemonic;
	rstr_init_with_cstr(&rstr_mnemonic, "shr");
	rstr_append_with_char(
		&rstr_mnemonic,
		_asm_inst_type_suffix(ctx, type)
	);

	_asm_inst1(
		ctx,
		rstr,
		RSTR_CSTR(&rstr_mnemonic),
		source
	);

	rstr_free(&rstr_mnemonic);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x35d92
jmp 0x35db1
leaq 0x4a3c8(%rip), %rdi     # 0x80161
leaq 0x44d64(%rip), %rsi     # 0x7ab04
movl $0x59e, %edx            # imm = 0x59E
leaq 0x46618(%rip), %rcx     # 0x7c3c4
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x35dba
jmp 0x35dd9
leaq 0x3dd4c(%rip), %rdi     # 0x73b0d
leaq 0x44d3c(%rip), %rsi     # 0x7ab04
movl $0x59f, %edx            # imm = 0x59F
leaq 0x465f0(%rip), %rcx     # 0x7c3c4
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x35de2
jmp 0x35e01
leaq 0x4644b(%rip), %rdi     # 0x7c234
leaq 0x44d14(%rip), %rsi     # 0x7ab04
movl $0x5a0, %edx            # imm = 0x5A0
leaq 0x465c8(%rip), %rcx     # 0x7c3c4
callq 0x30a0
leaq -0x30(%rbp), %rdi
leaq 0x421a6(%rip), %rsi     # 0x77fb2
callq 0x8cf0
movq -0x8(%rbp), %rdi
movzbl -0x11(%rbp), %esi
callq 0x33860
leaq -0x30(%rbp), %rdi
movsbl %al, %esi
callq 0x8ea0
movq -0x8(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x35e4e
leaq 0x400f7(%rip), %rax     # 0x75f3f
movq %rax, -0x48(%rbp)
jmp 0x35e56
movq -0x28(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %rdx
movq -0x20(%rbp), %rcx
callq 0x34970
leaq -0x30(%rbp), %rdi
callq 0x9310
addq $0x50, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_addss_x_x
static void _asm_inst_addss_x_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	const char *mnemonic = "addss";

	_asm_inst2(
		ctx,
		rstr,
		mnemonic,
		source,
		target
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x35ea1
jmp 0x35ec0
leaq 0x4a2b9(%rip), %rdi     # 0x80161
leaq 0x44c55(%rip), %rsi     # 0x7ab04
movl $0x5fd, %edx            # imm = 0x5FD
leaq 0x46564(%rip), %rcx     # 0x7c41f
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x35ec9
jmp 0x35ee8
leaq 0x3dc3d(%rip), %rdi     # 0x73b0d
leaq 0x44c2d(%rip), %rsi     # 0x7ab04
movl $0x5fe, %edx            # imm = 0x5FE
leaq 0x4653c(%rip), %rcx     # 0x7c41f
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x35ef1
jmp 0x35f10
leaq 0x4943c(%rip), %rdi     # 0x7f334
leaq 0x44c05(%rip), %rsi     # 0x7ab04
movl $0x5ff, %edx            # imm = 0x5FF
leaq 0x46514(%rip), %rcx     # 0x7c41f
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x35f19
jmp 0x35f38
leaq 0x46314(%rip), %rdi     # 0x7c234
leaq 0x44bdd(%rip), %rsi     # 0x7ab04
movl $0x600, %edx            # imm = 0x600
leaq 0x464ec(%rip), %rcx     # 0x7c41f
callq 0x30a0
leaq 0x421a2(%rip), %rax     # 0x780e1
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %r8
callq 0x33900
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_cvttsd2si_x_x
static void _asm_inst_cvttsd2si_x_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	const char *mnemonic = "cvttsd2si";

	_asm_inst2(
		ctx,
		rstr,
		mnemonic,
		source,
		target
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x36541
jmp 0x36560
leaq 0x49c19(%rip), %rdi     # 0x80161
leaq 0x445b5(%rip), %rsi     # 0x7ab04
movl $0x6b9, %edx            # imm = 0x6B9
leaq 0x46217(%rip), %rcx     # 0x7c772
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x36569
jmp 0x36588
leaq 0x3d59d(%rip), %rdi     # 0x73b0d
leaq 0x4458d(%rip), %rsi     # 0x7ab04
movl $0x6ba, %edx            # imm = 0x6BA
leaq 0x461ef(%rip), %rcx     # 0x7c772
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x36591
jmp 0x365b0
leaq 0x48d9c(%rip), %rdi     # 0x7f334
leaq 0x44565(%rip), %rsi     # 0x7ab04
movl $0x6bb, %edx            # imm = 0x6BB
leaq 0x461c7(%rip), %rcx     # 0x7c772
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x365b9
jmp 0x365d8
leaq 0x45c74(%rip), %rdi     # 0x7c234
leaq 0x4453d(%rip), %rsi     # 0x7ab04
movl $0x6bc, %edx            # imm = 0x6BC
leaq 0x4619f(%rip), %rcx     # 0x7c772
callq 0x30a0
leaq 0x41eee(%rip), %rax     # 0x784cd
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %r8
callq 0x33900
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_movss_x_sym
static void _asm_inst_movss_x_sym(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	ParserSymbol *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	_asm_inst_movss_x_x(
		ctx,
		rstr,
		target,
		RSTR_CSTR(BE_VAR_SYMBOL_GET_CODE_GEN_NAME(source))
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x36631
jmp 0x36650
leaq 0x49b29(%rip), %rdi     # 0x80161
leaq 0x444c5(%rip), %rsi     # 0x7ab04
movl $0x4d8, %edx            # imm = 0x4D8
leaq 0x45f43(%rip), %rcx     # 0x7c58e
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x36659
jmp 0x36678
leaq 0x3d4ad(%rip), %rdi     # 0x73b0d
leaq 0x4449d(%rip), %rsi     # 0x7ab04
movl $0x4d9, %edx            # imm = 0x4D9
leaq 0x45f1b(%rip), %rcx     # 0x7c58e
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x36681
jmp 0x366a0
leaq 0x48cac(%rip), %rdi     # 0x7f334
leaq 0x44475(%rip), %rsi     # 0x7ab04
movl $0x4da, %edx            # imm = 0x4DA
leaq 0x45ef3(%rip), %rcx     # 0x7c58e
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x366a9
jmp 0x366c8
leaq 0x45b84(%rip), %rdi     # 0x7c234
leaq 0x4444d(%rip), %rsi     # 0x7ab04
movl $0x4db, %edx            # imm = 0x4DB
leaq 0x45ecb(%rip), %rcx     # 0x7c58e
callq 0x30a0
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x366f8
leaq 0x3f84d(%rip), %rax     # 0x75f3f
movq %rax, -0x40(%rbp)
jmp 0x36704
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rcx
callq 0x357f0
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_movsd_x_sym
static void _asm_inst_movsd_x_sym(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	ParserSymbol *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	_asm_inst_movsd_x_x(
		ctx,
		rstr,
		target,
		RSTR_CSTR(BE_VAR_SYMBOL_GET_CODE_GEN_NAME(source))
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x36741
jmp 0x36760
leaq 0x49a19(%rip), %rdi     # 0x80161
leaq 0x443b5(%rip), %rsi     # 0x7ab04
movl $0x518, %edx            # imm = 0x518
leaq 0x45e9b(%rip), %rcx     # 0x7c5f6
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x36769
jmp 0x36788
leaq 0x3d39d(%rip), %rdi     # 0x73b0d
leaq 0x4438d(%rip), %rsi     # 0x7ab04
movl $0x519, %edx            # imm = 0x519
leaq 0x45e73(%rip), %rcx     # 0x7c5f6
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x36791
jmp 0x367b0
leaq 0x48b9c(%rip), %rdi     # 0x7f334
leaq 0x44365(%rip), %rsi     # 0x7ab04
movl $0x51a, %edx            # imm = 0x51A
leaq 0x45e4b(%rip), %rcx     # 0x7c5f6
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x367b9
jmp 0x367d8
leaq 0x45a74(%rip), %rdi     # 0x7c234
leaq 0x4433d(%rip), %rsi     # 0x7ab04
movl $0x51b, %edx            # imm = 0x51B
leaq 0x45e23(%rip), %rcx     # 0x7c5f6
callq 0x30a0
movq -0x8(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
cmpq $0x0, 0x58(%rax)
jne 0x36808
leaq 0x3f73d(%rip), %rax     # 0x75f3f
movq %rax, -0x40(%rbp)
jmp 0x36814
movq -0x20(%rbp), %rax
movq 0x58(%rax), %rax
movq %rax, -0x40(%rbp)
movq -0x28(%rbp), %rdx
movq -0x30(%rbp), %rsi
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rcx
callq 0x358e0
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: new_float
static void _new_float(
	ASMGeneratorGas64Context *ctx,
	ResizableString *name,
	float value
) {
	assert(ctx);

	// .section __TEXT,__literal4,4byte_literals
	// .p2align 2
	// _FLOAT.[X]:
	// .4byte [VALUE]

	size_t no = _next_no(ctx);

	if (name != NULL) {
		rstr_appendf(name, "_FLOAT.%zu", no);
	}

	// rstr_append_with_cstr(
	// 	ctx->head,
	// 	".section __TEXT,__literal4,4byte_literals\n"
	// 		".p2align 2\n"
	// );
	rstr_append_with_cstr(
		ctx->head,
		".text\n"
			".p2align 2\n"
	);

	rstr_appendf(
		ctx->head,
		"_FLOAT.%zu:\n",
		no
	);
	rstr_appendf(
		ctx->head,
		".4byte 0x%X\n\n",
		*(uint32_t *)&value
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movss %xmm0, -0x14(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x3684e
jmp 0x3686d
leaq 0x4990c(%rip), %rdi     # 0x80161
leaq 0x442a8(%rip), %rsi     # 0x7ab04
movl $0x84, %edx
leaq 0x45df6(%rip), %rcx     # 0x7c65e
callq 0x30a0
movq -0x8(%rbp), %rdi
callq 0x29eb0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x36897
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x41aab(%rip), %rsi     # 0x7833b
movb $0x0, %al
callq 0x94d0
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
leaq 0x41aa0(%rip), %rsi     # 0x78346
callq 0x8d70
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x20(%rbp), %rdx
leaq 0x41a9a(%rip), %rsi     # 0x78358
movb $0x0, %al
callq 0x94d0
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
movl -0x14(%rbp), %edx
leaq 0x45dcd(%rip), %rsi     # 0x7c6a4
movb $0x0, %al
callq 0x94d0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: new_double
static void _new_double(
	ASMGeneratorGas64Context *ctx,
	ResizableString *name,
	double value
) {
	assert(ctx);

	// .section __TEXT,__literal8,8byte_literals
	// .p2align 3
	// _DOUBLE.[X]:
	// .8byte [VALUE]

	size_t no = _next_no(ctx);

	if (name != NULL) {
		rstr_appendf(name, "_DOUBLE.%zu", no);
	}

	// rstr_append_with_cstr(
	// 	ctx->head,
	// 	".section __TEXT,__literal8,8byte_literals\n"
	// 		".p2align 3\n"
	// );
	rstr_append_with_cstr(
		ctx->head,
		".text\n"
			".p2align 3\n"
	);

	rstr_appendf(
		ctx->head,
		"_DOUBLE.%zu:\n",
		no
	);
	rstr_appendf(
		ctx->head,
		".8byte 0x%llX\n\n",
		*(uint64_t *)&value
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movsd %xmm0, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x3690e
jmp 0x3692d
leaq 0x4984c(%rip), %rdi     # 0x80161
leaq 0x441e8(%rip), %rsi     # 0x7ab04
movl $0xad, %edx
leaq 0x45d8a(%rip), %rcx     # 0x7c6b2
callq 0x30a0
movq -0x8(%rbp), %rdi
callq 0x29eb0
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x36957
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x41a69(%rip), %rsi     # 0x783b9
movb $0x0, %al
callq 0x94d0
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
leaq 0x41a5f(%rip), %rsi     # 0x783c5
callq 0x8d70
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x20(%rbp), %rdx
leaq 0x41a59(%rip), %rsi     # 0x783d7
movb $0x0, %al
callq 0x94d0
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rdi
movq -0x18(%rbp), %rdx
leaq 0x45d62(%rip), %rsi     # 0x7c6fa
movb $0x0, %al
callq 0x94d0
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_cvtsd2ss_x_x
static void _asm_inst_cvtsd2ss_x_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	const char *mnemonic = "cvtsd2ss";

	_asm_inst2(
		ctx,
		rstr,
		mnemonic,
		source,
		target
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x36ac1
jmp 0x36ae0
leaq 0x49699(%rip), %rdi     # 0x80161
leaq 0x44035(%rip), %rsi     # 0x7ab04
movl $0x6ed, %edx            # imm = 0x6ED
leaq 0x45e2f(%rip), %rcx     # 0x7c90a
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x36ae9
jmp 0x36b08
leaq 0x3d01d(%rip), %rdi     # 0x73b0d
leaq 0x4400d(%rip), %rsi     # 0x7ab04
movl $0x6ee, %edx            # imm = 0x6EE
leaq 0x45e07(%rip), %rcx     # 0x7c90a
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x36b11
jmp 0x36b30
leaq 0x4881c(%rip), %rdi     # 0x7f334
leaq 0x43fe5(%rip), %rsi     # 0x7ab04
movl $0x6ef, %edx            # imm = 0x6EF
leaq 0x45ddf(%rip), %rcx     # 0x7c90a
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x36b39
jmp 0x36b58
leaq 0x456f4(%rip), %rdi     # 0x7c234
leaq 0x43fbd(%rip), %rsi     # 0x7ab04
movl $0x6f0, %edx            # imm = 0x6F0
leaq 0x45db7(%rip), %rcx     # 0x7c90a
callq 0x30a0
leaq 0x41b7e(%rip), %rax     # 0x786dd
movq %rax, -0x28(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x28(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %r8
callq 0x33900
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_call_x
static void _asm_inst_call_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *func
) {
	assert(ctx);
	assert(rstr);
	assert(func);

	const char *mnemonic = "callq";

	_asm_inst1(
		ctx,
		rstr,
		mnemonic,
		func
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x36ebd
jmp 0x36edc
leaq 0x4929d(%rip), %rdi     # 0x80161
leaq 0x43c39(%rip), %rsi     # 0x7ab04
movl $0x630, %edx            # imm = 0x630
leaq 0x45bb0(%rip), %rcx     # 0x7ca87
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x36ee5
jmp 0x36f04
leaq 0x3cc21(%rip), %rdi     # 0x73b0d
leaq 0x43c11(%rip), %rsi     # 0x7ab04
movl $0x631, %edx            # imm = 0x631
leaq 0x45b88(%rip), %rcx     # 0x7ca87
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x36f0d
jmp 0x36f2c
leaq 0x419f2(%rip), %rdi     # 0x78906
leaq 0x43be9(%rip), %rsi     # 0x7ab04
movl $0x632, %edx            # imm = 0x632
leaq 0x45b60(%rip), %rcx     # 0x7ca87
callq 0x30a0
leaq 0x45ba7(%rip), %rax     # 0x7cada
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rcx
callq 0x34970
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)