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

	const char *mnemonic = "callq";

	ResizableString rstr_param;
	rstr_init_with_cstr(&rstr_param, func);
	rstr_prepend_with_char(&rstr_param, '*');

	_asm_inst1(
		ctx,
		rstr,
		mnemonic,
		RSTR_CSTR(&rstr_param)
	);

	rstr_free(&rstr_param);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x36f7d
jmp 0x36f9c
leaq 0x491dd(%rip), %rdi     # 0x80161
leaq 0x43b79(%rip), %rsi     # 0x7ab04
movl $0x643, %edx            # imm = 0x643
leaq 0x45b49(%rip), %rcx     # 0x7cae0
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x36fa5
jmp 0x36fc4
leaq 0x3cb61(%rip), %rdi     # 0x73b0d
leaq 0x43b51(%rip), %rsi     # 0x7ab04
movl $0x644, %edx            # imm = 0x644
leaq 0x45b21(%rip), %rcx     # 0x7cae0
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x36fcd
jmp 0x36fec
leaq 0x41932(%rip), %rdi     # 0x78906
leaq 0x43b29(%rip), %rsi     # 0x7ab04
movl $0x645, %edx            # imm = 0x645
leaq 0x45af9(%rip), %rcx     # 0x7cae0
callq 0x30a0
leaq 0x45ae7(%rip), %rax     # 0x7cada
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0x8cf0
leaq -0x30(%rbp), %rdi
movl $0x2a, %esi
callq 0x9ad0
movq -0x8(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x20(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x3703e
leaq 0x3ef07(%rip), %rax     # 0x75f3f
movq %rax, -0x50(%rbp)
jmp 0x37046
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 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_imul_x_x_x
static void _asm_inst_imul_x_x_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	uint8_t type,
	const char *target,
	const char *source1,
	const char *source2
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source1);
	assert(source2);

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

	_asm_inst3(
		ctx,
		rstr,
		RSTR_CSTR(&rstr_mnemonic),
		source2,
		source1,
		target
	);

	rstr_free(&rstr_mnemonic);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq %rcx, -0x20(%rbp)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x3709a
jmp 0x370b9
leaq 0x490c0(%rip), %rdi     # 0x80161
leaq 0x43a5c(%rip), %rsi     # 0x7ab04
movl $0x727, %edx            # imm = 0x727
leaq 0x45b03(%rip), %rcx     # 0x7cbb7
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x370c2
jmp 0x370e1
leaq 0x3ca44(%rip), %rdi     # 0x73b0d
leaq 0x43a34(%rip), %rsi     # 0x7ab04
movl $0x728, %edx            # imm = 0x728
leaq 0x45adb(%rip), %rcx     # 0x7cbb7
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x370ea
jmp 0x37109
leaq 0x48243(%rip), %rdi     # 0x7f334
leaq 0x43a0c(%rip), %rsi     # 0x7ab04
movl $0x729, %edx            # imm = 0x729
leaq 0x45ab3(%rip), %rcx     # 0x7cbb7
callq 0x30a0
cmpq $0x0, -0x28(%rbp)
je 0x37112
jmp 0x37131
leaq 0x41990(%rip), %rdi     # 0x78aa9
leaq 0x439e4(%rip), %rsi     # 0x7ab04
movl $0x72a, %edx            # imm = 0x72A
leaq 0x45a8b(%rip), %rcx     # 0x7cbb7
callq 0x30a0
cmpq $0x0, -0x30(%rbp)
je 0x3713a
jmp 0x37159
leaq 0x41970(%rip), %rdi     # 0x78ab1
leaq 0x439bc(%rip), %rsi     # 0x7ab04
movl $0x72b, %edx            # imm = 0x72B
leaq 0x45a63(%rip), %rcx     # 0x7cbb7
callq 0x30a0
leaq -0x40(%rbp), %rdi
leaq 0x41955(%rip), %rsi     # 0x78ab9
callq 0x8cf0
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 0x371a6
leaq 0x3ed9f(%rip), %rax     # 0x75f3f
movq %rax, -0x58(%rbp)
jmp 0x371ae
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 -0x28(%rbp), %r8
movq -0x20(%rbp), %r9
callq 0x371e0
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_inst3
static void _asm_inst3(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *mnemonic,
	const char *arg1,
	const char *arg2,
	const char *arg3
) {
	assert(ctx);
	assert(rstr);
	assert(mnemonic);
	assert(arg1);
	assert(arg2);
	assert(arg3);

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

// 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)
movq %r8, -0x28(%rbp)
movq %r9, -0x30(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x37209
jmp 0x37228
leaq 0x48f51(%rip), %rdi     # 0x80161
leaq 0x438ed(%rip), %rsi     # 0x7ab04
movl $0x2a4, %edx            # imm = 0x2A4
leaq 0x45a10(%rip), %rcx     # 0x7cc33
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x37231
jmp 0x37250
leaq 0x3c8d5(%rip), %rdi     # 0x73b0d
leaq 0x438c5(%rip), %rsi     # 0x7ab04
movl $0x2a5, %edx            # imm = 0x2A5
leaq 0x459e8(%rip), %rcx     # 0x7cc33
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x37259
jmp 0x37278
leaq 0x3f421(%rip), %rdi     # 0x76681
leaq 0x4389d(%rip), %rsi     # 0x7ab04
movl $0x2a6, %edx            # imm = 0x2A6
leaq 0x459c0(%rip), %rcx     # 0x7cc33
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x37281
jmp 0x372a0
leaq 0x3f402(%rip), %rdi     # 0x7668a
leaq 0x43875(%rip), %rsi     # 0x7ab04
movl $0x2a7, %edx            # imm = 0x2A7
leaq 0x45998(%rip), %rcx     # 0x7cc33
callq 0x30a0
cmpq $0x0, -0x28(%rbp)
je 0x372a9
jmp 0x372c8
leaq 0x3f3df(%rip), %rdi     # 0x7668f
leaq 0x4384d(%rip), %rsi     # 0x7ab04
movl $0x2a8, %edx            # imm = 0x2A8
leaq 0x45970(%rip), %rcx     # 0x7cc33
callq 0x30a0
cmpq $0x0, -0x30(%rbp)
je 0x372d1
jmp 0x372f0
leaq 0x4185d(%rip), %rdi     # 0x78b35
leaq 0x43825(%rip), %rsi     # 0x7ab04
movl $0x2a9, %edx            # imm = 0x2A9
leaq 0x45948(%rip), %rcx     # 0x7cc33
callq 0x30a0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
movq -0x30(%rbp), %r9
leaq 0x4182f(%rip), %rsi     # 0x78b3a
movb $0x0, %al
callq 0x94d0
addq $0x30, %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_subss_x_x
static void _asm_inst_subss_x_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	const char *mnemonic = "subss";

	_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 0x37481
jmp 0x374a0
leaq 0x48cd9(%rip), %rdi     # 0x80161
leaq 0x43675(%rip), %rsi     # 0x7ab04
movl $0x76c, %edx            # imm = 0x76C
leaq 0x458ba(%rip), %rcx     # 0x7cd55
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x374a9
jmp 0x374c8
leaq 0x3c65d(%rip), %rdi     # 0x73b0d
leaq 0x4364d(%rip), %rsi     # 0x7ab04
movl $0x76d, %edx            # imm = 0x76D
leaq 0x45892(%rip), %rcx     # 0x7cd55
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x374d1
jmp 0x374f0
leaq 0x47e5c(%rip), %rdi     # 0x7f334
leaq 0x43625(%rip), %rsi     # 0x7ab04
movl $0x76e, %edx            # imm = 0x76E
leaq 0x4586a(%rip), %rcx     # 0x7cd55
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x374f9
jmp 0x37518
leaq 0x44d34(%rip), %rdi     # 0x7c234
leaq 0x435fd(%rip), %rsi     # 0x7ab04
movl $0x76f, %edx            # imm = 0x76F
leaq 0x45842(%rip), %rcx     # 0x7cd55
callq 0x30a0
leaq 0x41907(%rip), %rax     # 0x78e26
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_mulss_x_x
static void _asm_inst_mulss_x_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	const char *mnemonic = "mulss";

	_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 0x377a1
jmp 0x377c0
leaq 0x489b9(%rip), %rdi     # 0x80161
leaq 0x43355(%rip), %rsi     # 0x7ab04
movl $0x7a0, %edx            # imm = 0x7A0
leaq 0x4570e(%rip), %rcx     # 0x7cec9
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x377c9
jmp 0x377e8
leaq 0x3c33d(%rip), %rdi     # 0x73b0d
leaq 0x4332d(%rip), %rsi     # 0x7ab04
movl $0x7a1, %edx            # imm = 0x7A1
leaq 0x456e6(%rip), %rcx     # 0x7cec9
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x377f1
jmp 0x37810
leaq 0x47b3c(%rip), %rdi     # 0x7f334
leaq 0x43305(%rip), %rsi     # 0x7ab04
movl $0x7a2, %edx            # imm = 0x7A2
leaq 0x456be(%rip), %rcx     # 0x7cec9
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x37819
jmp 0x37838
leaq 0x44a14(%rip), %rdi     # 0x7c234
leaq 0x432dd(%rip), %rsi     # 0x7ab04
movl $0x7a3, %edx            # imm = 0x7A3
leaq 0x45696(%rip), %rcx     # 0x7cec9
callq 0x30a0
leaq 0x417a2(%rip), %rax     # 0x78fe1
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_mulsd_x_x
static void _asm_inst_mulsd_x_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	const char *mnemonic = "mulsd";

	_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 0x37891
jmp 0x378b0
leaq 0x488c9(%rip), %rdi     # 0x80161
leaq 0x43265(%rip), %rsi     # 0x7ab04
movl $0x7ba, %edx            # imm = 0x7BA
leaq 0x45682(%rip), %rcx     # 0x7cf2d
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x378b9
jmp 0x378d8
leaq 0x3c24d(%rip), %rdi     # 0x73b0d
leaq 0x4323d(%rip), %rsi     # 0x7ab04
movl $0x7bb, %edx            # imm = 0x7BB
leaq 0x4565a(%rip), %rcx     # 0x7cf2d
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x378e1
jmp 0x37900
leaq 0x47a4c(%rip), %rdi     # 0x7f334
leaq 0x43215(%rip), %rsi     # 0x7ab04
movl $0x7bc, %edx            # imm = 0x7BC
leaq 0x45632(%rip), %rcx     # 0x7cf2d
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x37909
jmp 0x37928
leaq 0x44924(%rip), %rdi     # 0x7c234
leaq 0x431ed(%rip), %rsi     # 0x7ab04
movl $0x7bd, %edx            # imm = 0x7BD
leaq 0x4560a(%rip), %rcx     # 0x7cf2d
callq 0x30a0
leaq 0x4171c(%rip), %rax     # 0x7904b
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_cqo
static void _asm_inst_cqo(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr
) {
	assert(ctx);
	assert(rstr);

	const char *mnemonic = "cqto";

	_asm_inst(
		ctx,
		rstr,
		mnemonic
	);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x37a89
jmp 0x37aa8
leaq 0x486d1(%rip), %rdi     # 0x80161
leaq 0x4306d(%rip), %rsi     # 0x7ab04
movl $0x844, %edx            # imm = 0x844
leaq 0x45589(%rip), %rcx     # 0x7d02c
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x37ab1
jmp 0x37ad0
leaq 0x3c055(%rip), %rdi     # 0x73b0d
leaq 0x43045(%rip), %rsi     # 0x7ab04
movl $0x845, %edx            # imm = 0x845
leaq 0x45561(%rip), %rcx     # 0x7d02c
callq 0x30a0
leaq 0x45597(%rip), %rax     # 0x7d06e
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
callq 0x37df0
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_idiv_x
static void _asm_inst_idiv_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, "idiv");
	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 0x37b22
jmp 0x37b41
leaq 0x48638(%rip), %rdi     # 0x80161
leaq 0x42fd4(%rip), %rsi     # 0x7ab04
movl $0x7f3, %edx            # imm = 0x7F3
leaq 0x45583(%rip), %rcx     # 0x7d0bf
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x37b4a
jmp 0x37b69
leaq 0x3bfbc(%rip), %rdi     # 0x73b0d
leaq 0x42fac(%rip), %rsi     # 0x7ab04
movl $0x7f4, %edx            # imm = 0x7F4
leaq 0x4555b(%rip), %rcx     # 0x7d0bf
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x37b72
jmp 0x37b91
leaq 0x446bb(%rip), %rdi     # 0x7c234
leaq 0x42f84(%rip), %rsi     # 0x7ab04
movl $0x7f5, %edx            # imm = 0x7F5
leaq 0x45533(%rip), %rcx     # 0x7d0bf
callq 0x30a0
leaq -0x30(%rbp), %rdi
leaq 0x4167a(%rip), %rsi     # 0x79216
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 0x37bde
leaq 0x3e367(%rip), %rax     # 0x75f3f
movq %rax, -0x48(%rbp)
jmp 0x37be6
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_divsd_x_x
static void _asm_inst_divsd_x_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	const char *mnemonic = "divsd";

	_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 0x37d21
jmp 0x37d40
leaq 0x48439(%rip), %rdi     # 0x80161
leaq 0x42dd5(%rip), %rsi     # 0x7ab04
movl $0x82c, %edx            # imm = 0x82C
leaq 0x45444(%rip), %rcx     # 0x7d17f
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x37d49
jmp 0x37d68
leaq 0x3bdbd(%rip), %rdi     # 0x73b0d
leaq 0x42dad(%rip), %rsi     # 0x7ab04
movl $0x82d, %edx            # imm = 0x82D
leaq 0x4541c(%rip), %rcx     # 0x7d17f
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x37d71
jmp 0x37d90
leaq 0x475bc(%rip), %rdi     # 0x7f334
leaq 0x42d85(%rip), %rsi     # 0x7ab04
movl $0x82e, %edx            # imm = 0x82E
leaq 0x453f4(%rip), %rcx     # 0x7d17f
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x37d99
jmp 0x37db8
leaq 0x44494(%rip), %rdi     # 0x7c234
leaq 0x42d5d(%rip), %rsi     # 0x7ab04
movl $0x82f, %edx            # imm = 0x82F
leaq 0x453cc(%rip), %rcx     # 0x7d17f
callq 0x30a0
leaq 0x4152a(%rip), %rax     # 0x792e9
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
static void _asm_inst(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *mnemonic
) {
	assert(ctx);
	assert(rstr);
	assert(mnemonic);

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

// 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 0x37e0d
jmp 0x37e2c
leaq 0x4834d(%rip), %rdi     # 0x80161
leaq 0x42ce9(%rip), %rsi     # 0x7ab04
movl $0x268, %edx            # imm = 0x268
leaq 0x4524c(%rip), %rcx     # 0x7d073
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x37e35
jmp 0x37e54
leaq 0x3bcd1(%rip), %rdi     # 0x73b0d
leaq 0x42cc1(%rip), %rsi     # 0x7ab04
movl $0x269, %edx            # imm = 0x269
leaq 0x45224(%rip), %rcx     # 0x7d073
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x37e5d
jmp 0x37e7c
leaq 0x3e81d(%rip), %rdi     # 0x76681
leaq 0x42c99(%rip), %rsi     # 0x7ab04
movl $0x26a, %edx            # imm = 0x26A
leaq 0x451fc(%rip), %rcx     # 0x7d073
callq 0x30a0
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x3a6b2(%rip), %rsi     # 0x7253d
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_and_x_x
static void _asm_inst_and_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, "and");
	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 0x37f86
jmp 0x37fa5
leaq 0x481d4(%rip), %rdi     # 0x80161
leaq 0x42b70(%rip), %rsi     # 0x7ab04
movl $0x94f, %edx            # imm = 0x94F
leaq 0x45396(%rip), %rcx     # 0x7d336
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x37fae
jmp 0x37fcd
leaq 0x3bb58(%rip), %rdi     # 0x73b0d
leaq 0x42b48(%rip), %rsi     # 0x7ab04
movl $0x950, %edx            # imm = 0x950
leaq 0x4536e(%rip), %rcx     # 0x7d336
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x37fd6
jmp 0x37ff5
leaq 0x47357(%rip), %rdi     # 0x7f334
leaq 0x42b20(%rip), %rsi     # 0x7ab04
movl $0x951, %edx            # imm = 0x951
leaq 0x45346(%rip), %rcx     # 0x7d336
callq 0x30a0
cmpq $0x0, -0x28(%rbp)
je 0x37ffe
jmp 0x3801d
leaq 0x4422f(%rip), %rdi     # 0x7c234
leaq 0x42af8(%rip), %rsi     # 0x7ab04
movl $0x952, %edx            # imm = 0x952
leaq 0x4531e(%rip), %rcx     # 0x7d336
callq 0x30a0
leaq -0x38(%rbp), %rdi
leaq 0x46867(%rip), %rsi     # 0x7e88f
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 0x3806a
leaq 0x3dedb(%rip), %rax     # 0x75f3f
movq %rax, -0x50(%rbp)
jmp 0x38072
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_xor_x_x
static void _asm_inst_xor_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, "xor");
	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 0x380c6
jmp 0x380e5
leaq 0x48094(%rip), %rdi     # 0x80161
leaq 0x42a30(%rip), %rsi     # 0x7ab04
movl $0x993, %edx            # imm = 0x993
leaq 0x45342(%rip), %rcx     # 0x7d422
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x380ee
jmp 0x3810d
leaq 0x3ba18(%rip), %rdi     # 0x73b0d
leaq 0x42a08(%rip), %rsi     # 0x7ab04
movl $0x994, %edx            # imm = 0x994
leaq 0x4531a(%rip), %rcx     # 0x7d422
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x38116
jmp 0x38135
leaq 0x47217(%rip), %rdi     # 0x7f334
leaq 0x429e0(%rip), %rsi     # 0x7ab04
movl $0x995, %edx            # imm = 0x995
leaq 0x452f2(%rip), %rcx     # 0x7d422
callq 0x30a0
cmpq $0x0, -0x28(%rbp)
je 0x3813e
jmp 0x3815d
leaq 0x440ef(%rip), %rdi     # 0x7c234
leaq 0x429b8(%rip), %rsi     # 0x7ab04
movl $0x996, %edx            # imm = 0x996
leaq 0x452ca(%rip), %rcx     # 0x7d422
callq 0x30a0
leaq -0x38(%rbp), %rdi
leaq 0x46730(%rip), %rsi     # 0x7e898
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 0x381aa
leaq 0x3dd9b(%rip), %rax     # 0x75f3f
movq %rax, -0x50(%rbp)
jmp 0x381b2
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: get_id_or_constexpr_type
static uint8_t _get_id_or_constexpr_type(
	ASMGeneratorGas64Context *ctx,
	ParserASTNode *id_or_constexpr
) {
	assert(ctx);
	assert(id_or_constexpr);

	if (id_or_constexpr->type == BE_NODE_IDENTIFIER) {
		ParserSymbol *symbol = _get_var_symbol_by_id_node(ctx, id_or_constexpr);
		return BE_VAR_SYMBOL_GET_TYPE(symbol);
	} else if (id_or_constexpr->type == BE_NODE_EXPR) {
		return BE_EXPR_AST_NODE_GET_TYPE(id_or_constexpr);
	} else {
		assert(0);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x38479
jmp 0x38498
leaq 0x47ce1(%rip), %rdi     # 0x80161
leaq 0x4267d(%rip), %rsi     # 0x7ab04
movl $0xce1, %edx            # imm = 0xCE1
leaq 0x4518f(%rip), %rcx     # 0x7d622
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x384a1
jmp 0x384c0
leaq 0x3e532(%rip), %rdi     # 0x769da
leaq 0x42655(%rip), %rsi     # 0x7ab04
movl $0xce2, %edx            # imm = 0xCE2
leaq 0x45167(%rip), %rcx     # 0x7d622
callq 0x30a0
movq -0x18(%rbp), %rax
cmpl $0x200, (%rax)          # imm = 0x200
jne 0x384e9
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x32820
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
movb 0x30(%rax), %al
movb %al, -0x1(%rbp)
jmp 0x38520
movq -0x18(%rbp), %rax
cmpl $0xe00, (%rax)          # imm = 0xE00
jne 0x38501
movq -0x18(%rbp), %rax
movb 0x60(%rax), %al
movb %al, -0x1(%rbp)
jmp 0x38520
leaq 0x3af52(%rip), %rdi     # 0x7345a
leaq 0x425f5(%rip), %rsi     # 0x7ab04
movl $0xcea, %edx            # imm = 0xCEA
leaq 0x45107(%rip), %rcx     # 0x7d622
callq 0x30a0
movb -0x1(%rbp), %al
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/asmgen_gas64.c
// Function: asm_inst_ucomiss_x_x
static void _asm_inst_ucomiss_x_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target,
	const char *source
) {
	assert(ctx);
	assert(rstr);
	assert(target);
	assert(source);

	const char *mnemonic = "ucomiss";

	_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 0x38551
jmp 0x38570
leaq 0x47c09(%rip), %rdi     # 0x80161
leaq 0x425a5(%rip), %rsi     # 0x7ab04
movl $0x9b4, %edx            # imm = 0x9B4
leaq 0x45106(%rip), %rcx     # 0x7d671
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x38579
jmp 0x38598
leaq 0x3b58d(%rip), %rdi     # 0x73b0d
leaq 0x4257d(%rip), %rsi     # 0x7ab04
movl $0x9b5, %edx            # imm = 0x9B5
leaq 0x450de(%rip), %rcx     # 0x7d671
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x385a1
jmp 0x385c0
leaq 0x46d8c(%rip), %rdi     # 0x7f334
leaq 0x42555(%rip), %rsi     # 0x7ab04
movl $0x9b6, %edx            # imm = 0x9B6
leaq 0x450b6(%rip), %rcx     # 0x7d671
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x385c9
jmp 0x385e8
leaq 0x43c64(%rip), %rdi     # 0x7c234
leaq 0x4252d(%rip), %rsi     # 0x7ab04
movl $0x9b7, %edx            # imm = 0x9B7
leaq 0x4508e(%rip), %rcx     # 0x7d671
callq 0x30a0
leaq 0x4145d(%rip), %rax     # 0x79a4c
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_setnp_x
static void _asm_inst_setnp_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "setnp";

	_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 0x3863d
jmp 0x3865c
leaq 0x47b1d(%rip), %rdi     # 0x80161
leaq 0x424b9(%rip), %rsi     # 0x7ab04
movl $0x936, %edx            # imm = 0x936
leaq 0x45080(%rip), %rcx     # 0x7d6d7
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x38665
jmp 0x38684
leaq 0x3b4a1(%rip), %rdi     # 0x73b0d
leaq 0x42491(%rip), %rsi     # 0x7ab04
movl $0x937, %edx            # imm = 0x937
leaq 0x45058(%rip), %rcx     # 0x7d6d7
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x3868d
jmp 0x386ac
leaq 0x46ca0(%rip), %rdi     # 0x7f334
leaq 0x42469(%rip), %rsi     # 0x7ab04
movl $0x938, %edx            # imm = 0x938
leaq 0x45030(%rip), %rcx     # 0x7d6d7
callq 0x30a0
leaq 0x413f5(%rip), %rax     # 0x79aa8
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_setne_x
static void _asm_inst_setne_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "setne";

	_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 0x387ed
jmp 0x3880c
leaq 0x4796d(%rip), %rdi     # 0x80161
leaq 0x42309(%rip), %rsi     # 0x7ab04
movl $0x86e, %edx            # imm = 0x86E
leaq 0x44fca(%rip), %rcx     # 0x7d7d1
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x38815
jmp 0x38834
leaq 0x3b2f1(%rip), %rdi     # 0x73b0d
leaq 0x422e1(%rip), %rsi     # 0x7ab04
movl $0x86f, %edx            # imm = 0x86F
leaq 0x44fa2(%rip), %rcx     # 0x7d7d1
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x3883d
jmp 0x3885c
leaq 0x46af0(%rip), %rdi     # 0x7f334
leaq 0x422b9(%rip), %rsi     # 0x7ab04
movl $0x870, %edx            # imm = 0x870
leaq 0x44f7a(%rip), %rcx     # 0x7d7d1
callq 0x30a0
leaq 0x4136c(%rip), %rax     # 0x79bcf
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_setb_x
static void _asm_inst_setb_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "setb";

	_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 0x38aad
jmp 0x38acc
leaq 0x476ad(%rip), %rdi     # 0x80161
leaq 0x42049(%rip), %rsi     # 0x7ab04
movl $0x882, %edx            # imm = 0x882
leaq 0x44e5a(%rip), %rcx     # 0x7d921
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x38ad5
jmp 0x38af4
leaq 0x3b031(%rip), %rdi     # 0x73b0d
leaq 0x42021(%rip), %rsi     # 0x7ab04
movl $0x883, %edx            # imm = 0x883
leaq 0x44e32(%rip), %rcx     # 0x7d921
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x38afd
jmp 0x38b1c
leaq 0x46830(%rip), %rdi     # 0x7f334
leaq 0x41ff9(%rip), %rsi     # 0x7ab04
movl $0x884, %edx            # imm = 0x884
leaq 0x44e0a(%rip), %rcx     # 0x7d921
callq 0x30a0
leaq 0x411ba(%rip), %rax     # 0x79cdd
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_setl_x
static void _asm_inst_setl_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "setl";

	_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 0x38b6d
jmp 0x38b8c
leaq 0x475ed(%rip), %rdi     # 0x80161
leaq 0x41f89(%rip), %rsi     # 0x7ab04
movl $0x8d2, %edx            # imm = 0x8D2
leaq 0x44ded(%rip), %rcx     # 0x7d974
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x38b95
jmp 0x38bb4
leaq 0x3af71(%rip), %rdi     # 0x73b0d
leaq 0x41f61(%rip), %rsi     # 0x7ab04
movl $0x8d3, %edx            # imm = 0x8D3
leaq 0x44dc5(%rip), %rcx     # 0x7d974
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x38bbd
jmp 0x38bdc
leaq 0x46770(%rip), %rdi     # 0x7f334
leaq 0x41f39(%rip), %rsi     # 0x7ab04
movl $0x8d4, %edx            # imm = 0x8D4
leaq 0x44d9d(%rip), %rcx     # 0x7d974
callq 0x30a0
leaq 0x41152(%rip), %rax     # 0x79d35
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_setbe_x
static void _asm_inst_setbe_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "setbe";

	_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 0x38c2d
jmp 0x38c4c
leaq 0x4752d(%rip), %rdi     # 0x80161
leaq 0x41ec9(%rip), %rsi     # 0x7ab04
movl $0x896, %edx            # imm = 0x896
leaq 0x44dbf(%rip), %rcx     # 0x7da06
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x38c55
jmp 0x38c74
leaq 0x3aeb1(%rip), %rdi     # 0x73b0d
leaq 0x41ea1(%rip), %rsi     # 0x7ab04
movl $0x897, %edx            # imm = 0x897
leaq 0x44d97(%rip), %rcx     # 0x7da06
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x38c7d
jmp 0x38c9c
leaq 0x466b0(%rip), %rdi     # 0x7f334
leaq 0x41e79(%rip), %rsi     # 0x7ab04
movl $0x898, %edx            # imm = 0x898
leaq 0x44d6f(%rip), %rcx     # 0x7da06
callq 0x30a0
leaq 0x41148(%rip), %rax     # 0x79deb
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_seta_x
static void _asm_inst_seta_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "seta";

	_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 0x38dad
jmp 0x38dcc
leaq 0x473ad(%rip), %rdi     # 0x80161
leaq 0x41d49(%rip), %rsi     # 0x7ab04
movl $0x8aa, %edx            # imm = 0x8AA
leaq 0x44d26(%rip), %rcx     # 0x7daed
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x38dd5
jmp 0x38df4
leaq 0x3ad31(%rip), %rdi     # 0x73b0d
leaq 0x41d21(%rip), %rsi     # 0x7ab04
movl $0x8ab, %edx            # imm = 0x8AB
leaq 0x44cfe(%rip), %rcx     # 0x7daed
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x38dfd
jmp 0x38e1c
leaq 0x46530(%rip), %rdi     # 0x7f334
leaq 0x41cf9(%rip), %rsi     # 0x7ab04
movl $0x8ac, %edx            # imm = 0x8AC
leaq 0x44cd6(%rip), %rcx     # 0x7daed
callq 0x30a0
leaq 0x410d8(%rip), %rax     # 0x79efb
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_setg_x
static void _asm_inst_setg_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "setg";

	_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 0x38e6d
jmp 0x38e8c
leaq 0x472ed(%rip), %rdi     # 0x80161
leaq 0x41c89(%rip), %rsi     # 0x7ab04
movl $0x8fa, %edx            # imm = 0x8FA
leaq 0x44cb9(%rip), %rcx     # 0x7db40
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x38e95
jmp 0x38eb4
leaq 0x3ac71(%rip), %rdi     # 0x73b0d
leaq 0x41c61(%rip), %rsi     # 0x7ab04
movl $0x8fb, %edx            # imm = 0x8FB
leaq 0x44c91(%rip), %rcx     # 0x7db40
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x38ebd
jmp 0x38edc
leaq 0x46470(%rip), %rdi     # 0x7f334
leaq 0x41c39(%rip), %rsi     # 0x7ab04
movl $0x8fc, %edx            # imm = 0x8FC
leaq 0x44c69(%rip), %rcx     # 0x7db40
callq 0x30a0
leaq 0x41070(%rip), %rax     # 0x79f53
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_setae_x
static void _asm_inst_setae_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "setae";

	_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 0x38f2d
jmp 0x38f4c
leaq 0x4722d(%rip), %rdi     # 0x80161
leaq 0x41bc9(%rip), %rsi     # 0x7ab04
movl $0x8be, %edx            # imm = 0x8BE
leaq 0x44c8b(%rip), %rcx     # 0x7dbd2
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x38f55
jmp 0x38f74
leaq 0x3abb1(%rip), %rdi     # 0x73b0d
leaq 0x41ba1(%rip), %rsi     # 0x7ab04
movl $0x8bf, %edx            # imm = 0x8BF
leaq 0x44c63(%rip), %rcx     # 0x7dbd2
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x38f7d
jmp 0x38f9c
leaq 0x463b0(%rip), %rdi     # 0x7f334
leaq 0x41b79(%rip), %rsi     # 0x7ab04
movl $0x8c0, %edx            # imm = 0x8C0
leaq 0x44c3b(%rip), %rcx     # 0x7dbd2
callq 0x30a0
leaq 0x41066(%rip), %rax     # 0x7a009
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_setge_x
static void _asm_inst_setge_x(
	ASMGeneratorGas64Context *ctx,
	ResizableString *rstr,
	const char *target
) {
	assert(ctx);
	assert(rstr);
	assert(target);

	const char *mnemonic = "setge";

	_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 0x38fed
jmp 0x3900c
leaq 0x4716d(%rip), %rdi     # 0x80161
leaq 0x41b09(%rip), %rsi     # 0x7ab04
movl $0x90e, %edx            # imm = 0x90E
leaq 0x44c1f(%rip), %rcx     # 0x7dc26
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x39015
jmp 0x39034
leaq 0x3aaf1(%rip), %rdi     # 0x73b0d
leaq 0x41ae1(%rip), %rsi     # 0x7ab04
movl $0x90f, %edx            # imm = 0x90F
leaq 0x44bf7(%rip), %rcx     # 0x7dc26
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x3903d
jmp 0x3905c
leaq 0x462f0(%rip), %rdi     # 0x7f334
leaq 0x41ab9(%rip), %rsi     # 0x7ab04
movl $0x910, %edx            # imm = 0x910
leaq 0x44bcf(%rip), %rcx     # 0x7dc26
callq 0x30a0
leaq 0x41000(%rip), %rax     # 0x7a063
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
nop
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/lexer.c
// Function: be_lexer_new_context
LexerContext * be_lexer_new_context(
	const char *file,
	const char *source,
	int len
) {
	assert(file);
	assert(source);
	assert(len >= 0);

	return lexer_new_context(file, source, len, _matchers);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x390ac
jmp 0x390cb
leaq 0x399b0(%rip), %rdi     # 0x72a63
leaq 0x44e32(%rip), %rsi     # 0x7deec
movl $0x170, %edx            # imm = 0x170
leaq 0x44e3f(%rip), %rcx     # 0x7df05
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x390d4
jmp 0x390f3
leaq 0x43159(%rip), %rdi     # 0x7c234
leaq 0x44e0a(%rip), %rsi     # 0x7deec
movl $0x171, %edx            # imm = 0x171
leaq 0x44e17(%rip), %rcx     # 0x7df05
callq 0x30a0
cmpl $0x0, -0x14(%rbp)
jl 0x390fb
jmp 0x3911a
leaq 0x39495(%rip), %rdi     # 0x72597
leaq 0x44de3(%rip), %rsi     # 0x7deec
movl $0x172, %edx            # imm = 0x172
leaq 0x44df0(%rip), %rcx     # 0x7df05
callq 0x30a0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movl -0x14(%rbp), %edx
leaq 0x5b024(%rip), %rcx     # 0x94150
callq 0x4160
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/lexer.c
// Function: be_lexer_get_uint32_val
uint32_t be_lexer_get_uint32_val(
	LexerContext *ctx,
	LexerToken *token
) {
	assert(ctx);
	assert(token);

	switch (token->type) {
		case BE_TOKEN_LITERAL_UINT_BIN: {
			return util_get_uint32_bin_val(token->content, token->len);
		}
		case BE_TOKEN_LITERAL_UINT_OCT: {
			return util_get_uint32_oct_val(token->content, token->len);
		}
		case BE_TOKEN_LITERAL_UINT_DEC: {
			return util_get_uint32_dec_val(token->content, token->len);
		}
		case BE_TOKEN_LITERAL_UINT_HEX: {
			return util_get_uint32_hex_val(token->content, token->len);
		}
		default: {
			assert(0);
		}
	}

	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x391a9
jmp 0x391c8
leaq 0x46fb1(%rip), %rdi     # 0x80161
leaq 0x44d35(%rip), %rsi     # 0x7deec
movl $0x183, %edx            # imm = 0x183
leaq 0x44db1(%rip), %rcx     # 0x7df74
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x391d1
jmp 0x391f0
leaq 0x3935e(%rip), %rdi     # 0x72536
leaq 0x44d0d(%rip), %rsi     # 0x7deec
movl $0x184, %edx            # imm = 0x184
leaq 0x44d89(%rip), %rcx     # 0x7df74
callq 0x30a0
movq -0x18(%rbp), %rax
movl (%rax), %eax
addl $0xfffff000, %eax       # imm = 0xFFFFF000
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0x3, %eax
ja 0x3927e
movq -0x20(%rbp), %rax
leaq 0x44cbb(%rip), %rcx     # 0x7decc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rax
movl 0x4(%rax), %esi
callq 0xca90
movl %eax, -0x4(%rbp)
jmp 0x3929d
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rax
movl 0x4(%rax), %esi
callq 0xcd40
movl %eax, -0x4(%rbp)
jmp 0x3929d
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rax
movl 0x4(%rax), %esi
callq 0xcfd0
movl %eax, -0x4(%rbp)
jmp 0x3929d
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rax
movl 0x4(%rax), %esi
callq 0xd340
movl %eax, -0x4(%rbp)
jmp 0x3929d
leaq 0x3a1d5(%rip), %rdi     # 0x7345a
leaq 0x44c60(%rip), %rsi     # 0x7deec
movl $0x194, %edx            # imm = 0x194
leaq 0x44cdc(%rip), %rcx     # 0x7df74
callq 0x30a0
movl -0x4(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/lexer.c
// Function: be_lexer_get_uint64_val
uint64_t be_lexer_get_uint64_val(
	LexerContext *ctx,
	LexerToken *token
) {
	assert(ctx);
	assert(token);

	switch (token->type) {
		case BE_TOKEN_LITERAL_UINT_BIN: {
			return util_get_uint64_bin_val(token->content, token->len);
		}
		case BE_TOKEN_LITERAL_UINT_OCT: {
			return util_get_uint64_oct_val(token->content, token->len);
		}
		case BE_TOKEN_LITERAL_UINT_DEC: {
			return util_get_uint64_dec_val(token->content, token->len);
		}
		case BE_TOKEN_LITERAL_UINT_HEX: {
			return util_get_uint64_hex_val(token->content, token->len);
		}
		default: {
			assert(0);
		}
	}

	return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x392c9
jmp 0x392e8
leaq 0x46e91(%rip), %rdi     # 0x80161
leaq 0x44c15(%rip), %rsi     # 0x7deec
movl $0x19f, %edx            # imm = 0x19F
leaq 0x44cd0(%rip), %rcx     # 0x7dfb3
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x392f1
jmp 0x39310
leaq 0x3923e(%rip), %rdi     # 0x72536
leaq 0x44bed(%rip), %rsi     # 0x7deec
movl $0x1a0, %edx            # imm = 0x1A0
leaq 0x44ca8(%rip), %rcx     # 0x7dfb3
callq 0x30a0
movq -0x18(%rbp), %rax
movl (%rax), %eax
addl $0xfffff000, %eax       # imm = 0xFFFFF000
movl %eax, %ecx
movq %rcx, -0x20(%rbp)
subl $0x3, %eax
ja 0x393a2
movq -0x20(%rbp), %rax
leaq 0x44bab(%rip), %rcx     # 0x7dedc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rax
movl 0x4(%rax), %esi
callq 0xc950
movq %rax, -0x8(%rbp)
jmp 0x393c1
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rax
movl 0x4(%rax), %esi
callq 0xcc00
movq %rax, -0x8(%rbp)
jmp 0x393c1
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rax
movl 0x4(%rax), %esi
callq 0xceb0
movq %rax, -0x8(%rbp)
jmp 0x393c1
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x18(%rbp), %rax
movl 0x4(%rax), %esi
callq 0xd140
movq %rax, -0x8(%rbp)
jmp 0x393c1
leaq 0x3a0b1(%rip), %rdi     # 0x7345a
leaq 0x44b3c(%rip), %rsi     # 0x7deec
movl $0x1b0, %edx            # imm = 0x1B0
leaq 0x44bf7(%rip), %rcx     # 0x7dfb3
callq 0x30a0
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/lexer.c
// Function: be_lexer_get_float_val
float be_lexer_get_float_val(
	LexerContext *ctx,
	LexerToken *token
) {
	assert(ctx);
	assert(token);

	if (token->type == BE_TOKEN_LITERAL_REAL) {
		return util_get_float_val(token->content, token->len);
	} else {
		assert(0);
	}
	
	return 0.0f;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x393e9
jmp 0x39408
leaq 0x46d71(%rip), %rdi     # 0x80161
leaq 0x44af5(%rip), %rsi     # 0x7deec
movl $0x1bb, %edx            # imm = 0x1BB
leaq 0x44bef(%rip), %rcx     # 0x7dff2
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x39411
jmp 0x39430
leaq 0x3911e(%rip), %rdi     # 0x72536
leaq 0x44acd(%rip), %rsi     # 0x7deec
movl $0x1bc, %edx            # imm = 0x1BC
leaq 0x44bc7(%rip), %rcx     # 0x7dff2
callq 0x30a0
movq -0x10(%rbp), %rax
cmpl $0x1004, (%rax)         # imm = 0x1004
jne 0x39456
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
callq 0xd7a0
addq $0x10, %rsp
popq %rbp
retq
leaq 0x39ffd(%rip), %rdi     # 0x7345a
leaq 0x44a88(%rip), %rsi     # 0x7deec
movl $0x1c1, %edx            # imm = 0x1C1
leaq 0x44b82(%rip), %rcx     # 0x7dff2
callq 0x30a0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/lexer.c
// Function: be_lexer_get_double_val
double be_lexer_get_double_val(
	LexerContext *ctx,
	LexerToken *token
) {
	assert(ctx);
	assert(token);

	if (token->type == BE_TOKEN_LITERAL_REAL) {
		return util_get_double_val(token->content, token->len);
	} else {
		assert(0);
	}
	
	return 0.0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x39499
jmp 0x394b8
leaq 0x46cc1(%rip), %rdi     # 0x80161
leaq 0x44a45(%rip), %rsi     # 0x7deec
movl $0x1cb, %edx            # imm = 0x1CB
leaq 0x44b7a(%rip), %rcx     # 0x7e02d
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x394c1
jmp 0x394e0
leaq 0x3906e(%rip), %rdi     # 0x72536
leaq 0x44a1d(%rip), %rsi     # 0x7deec
movl $0x1cc, %edx            # imm = 0x1CC
leaq 0x44b52(%rip), %rcx     # 0x7e02d
callq 0x30a0
movq -0x10(%rbp), %rax
cmpl $0x1004, (%rax)         # imm = 0x1004
jne 0x39506
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
callq 0xd4b0
addq $0x10, %rsp
popq %rbp
retq
leaq 0x39f4d(%rip), %rdi     # 0x7345a
leaq 0x449d8(%rip), %rsi     # 0x7deec
movl $0x1d1, %edx            # imm = 0x1D1
leaq 0x44b0d(%rip), %rcx     # 0x7e02d
callq 0x30a0
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/backend/lexer.c
// Function: be_lexer_get_char_val
char be_lexer_get_char_val(
	LexerContext *ctx,
	LexerToken *token
) {
	assert(ctx);
	assert(token);

	if (token->type == BE_TOKEN_LITERAL_CHAR) {
		return util_get_char_val(token->content, token->len);
	} else {
		assert(0);
	}

	return '\0';
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
cmpq $0x0, -0x8(%rbp)
je 0x39549
jmp 0x39568
leaq 0x46c11(%rip), %rdi     # 0x80161
leaq 0x44995(%rip), %rsi     # 0x7deec
movl $0x1db, %edx            # imm = 0x1DB
leaq 0x44b07(%rip), %rcx     # 0x7e06a
callq 0x30a0
cmpq $0x0, -0x10(%rbp)
je 0x39571
jmp 0x39590
leaq 0x38fbe(%rip), %rdi     # 0x72536
leaq 0x4496d(%rip), %rsi     # 0x7deec
movl $0x1dc, %edx            # imm = 0x1DC
leaq 0x44adf(%rip), %rcx     # 0x7e06a
callq 0x30a0
movq -0x10(%rbp), %rax
cmpl $0x1005, (%rax)         # imm = 0x1005
jne 0x395b6
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x10(%rbp), %rax
movl 0x4(%rax), %esi
callq 0xc730
addq $0x10, %rsp
popq %rbp
retq
leaq 0x39e9d(%rip), %rdi     # 0x7345a
leaq 0x44928(%rip), %rsi     # 0x7deec
movl $0x1e1, %edx            # imm = 0x1E1
leaq 0x44a9a(%rip), %rcx     # 0x7e06a
callq 0x30a0
nopw %cs:(%rax,%rax)