// File: /workspace/github_c_makefile_star2_O0/Ihsoh[P]ilang/compiler/frontend/irgen_c.c
// Function: ir_expr_lt
static bool _ir_expr_lt(
	IRGeneratorCContext *ctx,
	ResizableString *rstr,
	ParserASTNode *node_expr
) {
	assert(ctx);
	assert(rstr);
	assert(node_expr);

	#define	_IR_EXPR_LT(str_opt)	\
	{	\
		assert(node_expr->nchilds == 2);	\
		_IR_EXPR_AUTO_CAST_BEGIN	\
		rstr_append_with_cstr(rstr, "(");	\
		_ir_expr(ctx, rstr, node_expr->childs[0]);	\
		rstr_append_with_cstr(rstr, (str_opt));	\
		_ir_expr(ctx, rstr, node_expr->childs[1]);	\
		rstr_append_with_cstr(rstr, ")");	\
		_IR_EXPR_AUTO_CAST_END	\
	}

	switch (node_expr->type) {
		case FE_NODE_EXPR_LT: {
			_IR_EXPR_LT(" < ")
			return true;
		}
		case FE_NODE_EXPR_LE: {
			_IR_EXPR_LT(" <= ")
			return true;
		}
		case FE_NODE_EXPR_GT: {
			_IR_EXPR_LT(" > ")
			return true;
		}
		case FE_NODE_EXPR_GE: {
			_IR_EXPR_LT(" >= ")
			return true;
		}
		default: {
			return false;
		}
	}

	#undef	_IR_EXPR_LT
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
cmpq $0x0, -0x10(%rbp)
je 0x24160
jmp 0x2417f
leaq 0x583ef(%rip), %rdi     # 0x7c556
leaq 0x52c7a(%rip), %rsi     # 0x76de8
movl $0x329, %edx            # imm = 0x329
leaq 0x533b7(%rip), %rcx     # 0x77531
callq 0x30a0
cmpq $0x0, -0x18(%rbp)
je 0x24188
jmp 0x241a7
leaq 0x4e97f(%rip), %rdi     # 0x72b0e
leaq 0x52c52(%rip), %rsi     # 0x76de8
movl $0x32a, %edx            # imm = 0x32A
leaq 0x5338f(%rip), %rcx     # 0x77531
callq 0x30a0
cmpq $0x0, -0x20(%rbp)
je 0x241b0
jmp 0x241cf
leaq 0x52f3e(%rip), %rdi     # 0x770f5
leaq 0x52c2a(%rip), %rsi     # 0x76de8
movl $0x32b, %edx            # imm = 0x32B
leaq 0x53367(%rip), %rcx     # 0x77531
callq 0x30a0
movq -0x20(%rbp), %rax
movl (%rax), %eax
addl $0xfffff180, %eax       # imm = 0xFFFFF180
movl %eax, %ecx
movq %rcx, -0x68(%rbp)
subl $0x3, %eax
ja 0x24631
movq -0x68(%rbp), %rax
leaq 0x52bb8(%rip), %rcx     # 0x76dac
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x20(%rbp), %rax
cmpl $0x2, 0x44(%rax)
jne 0x24209
jmp 0x24228
leaq 0x53108(%rip), %rdi     # 0x77318
leaq 0x52bd1(%rip), %rsi     # 0x76de8
movl $0x33b, %edx            # imm = 0x33B
leaq 0x5330e(%rip), %rcx     # 0x77531
callq 0x30a0
leaq -0x30(%rbp), %rdi
callq 0x8c90
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x68(%rax), %rdx
leaq -0x30(%rbp), %rsi
callq 0x216c0
movq -0x18(%rbp), %rax
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x28(%rbp)
jne 0x24262
leaq 0x53659(%rip), %rax     # 0x778b5
movq %rax, -0x78(%rbp)
jmp 0x2426a
movq -0x28(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x70(%rbp), %rdi
movq -0x78(%rbp), %rdx
leaq 0x52ef2(%rip), %rsi     # 0x7716b
movb $0x0, %al
callq 0x94d0
movq -0x18(%rbp), %rdi
leaq 0x537d2(%rip), %rsi     # 0x77a5d
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x532cb(%rip), %rsi     # 0x7757e
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x52cc2(%rip), %rsi     # 0x76f9e
callq 0x8d70
leaq -0x30(%rbp), %rdi
callq 0x9310
movq -0x18(%rbp), %rdi
movl $0x29, %esi
callq 0x8ea0
movb $0x1, -0x1(%rbp)
jmp 0x24635
movq -0x20(%rbp), %rax
cmpl $0x2, 0x44(%rax)
jne 0x2430d
jmp 0x2432c
leaq 0x53004(%rip), %rdi     # 0x77318
leaq 0x52acd(%rip), %rsi     # 0x76de8
movl $0x33f, %edx            # imm = 0x33F
leaq 0x5320a(%rip), %rcx     # 0x77531
callq 0x30a0
leaq -0x40(%rbp), %rdi
callq 0x8c90
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x68(%rax), %rdx
leaq -0x40(%rbp), %rsi
callq 0x216c0
movq -0x18(%rbp), %rax
movq %rax, -0x80(%rbp)
cmpq $0x0, -0x38(%rbp)
jne 0x24369
leaq 0x53555(%rip), %rax     # 0x778b5
movq %rax, -0x88(%rbp)
jmp 0x24374
movq -0x38(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x80(%rbp), %rdi
movq -0x88(%rbp), %rdx
leaq 0x52de5(%rip), %rsi     # 0x7716b
movb $0x0, %al
callq 0x94d0
movq -0x18(%rbp), %rdi
leaq 0x536c5(%rip), %rsi     # 0x77a5d
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x531c2(%rip), %rsi     # 0x77582
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x52bb5(%rip), %rsi     # 0x76f9e
callq 0x8d70
leaq -0x40(%rbp), %rdi
callq 0x9310
movq -0x18(%rbp), %rdi
movl $0x29, %esi
callq 0x8ea0
movb $0x1, -0x1(%rbp)
jmp 0x24635
movq -0x20(%rbp), %rax
cmpl $0x2, 0x44(%rax)
jne 0x2441a
jmp 0x24439
leaq 0x52ef7(%rip), %rdi     # 0x77318
leaq 0x529c0(%rip), %rsi     # 0x76de8
movl $0x343, %edx            # imm = 0x343
leaq 0x530fd(%rip), %rcx     # 0x77531
callq 0x30a0
leaq -0x50(%rbp), %rdi
callq 0x8c90
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x68(%rax), %rdx
leaq -0x50(%rbp), %rsi
callq 0x216c0
movq -0x18(%rbp), %rax
movq %rax, -0x90(%rbp)
cmpq $0x0, -0x48(%rbp)
jne 0x24479
leaq 0x53445(%rip), %rax     # 0x778b5
movq %rax, -0x98(%rbp)
jmp 0x24484
movq -0x48(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x90(%rbp), %rdi
movq -0x98(%rbp), %rdx
leaq 0x52cd2(%rip), %rsi     # 0x7716b
movb $0x0, %al
callq 0x94d0
movq -0x18(%rbp), %rdi
leaq 0x535b2(%rip), %rsi     # 0x77a5d
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x530b4(%rip), %rsi     # 0x77587
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x52aa2(%rip), %rsi     # 0x76f9e
callq 0x8d70
leaq -0x50(%rbp), %rdi
callq 0x9310
movq -0x18(%rbp), %rdi
movl $0x29, %esi
callq 0x8ea0
movb $0x1, -0x1(%rbp)
jmp 0x24635
movq -0x20(%rbp), %rax
cmpl $0x2, 0x44(%rax)
jne 0x2452d
jmp 0x2454c
leaq 0x52de4(%rip), %rdi     # 0x77318
leaq 0x528ad(%rip), %rsi     # 0x76de8
movl $0x347, %edx            # imm = 0x347
leaq 0x52fea(%rip), %rcx     # 0x77531
callq 0x30a0
leaq -0x60(%rbp), %rdi
callq 0x8c90
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rax
movq 0x68(%rax), %rdx
leaq -0x60(%rbp), %rsi
callq 0x216c0
movq -0x18(%rbp), %rax
movq %rax, -0xa0(%rbp)
cmpq $0x0, -0x58(%rbp)
jne 0x2458c
leaq 0x53332(%rip), %rax     # 0x778b5
movq %rax, -0xa8(%rbp)
jmp 0x24597
movq -0x58(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0xa0(%rbp), %rdi
movq -0xa8(%rbp), %rdx
leaq 0x52bbf(%rip), %rsi     # 0x7716b
movb $0x0, %al
callq 0x94d0
movq -0x18(%rbp), %rdi
leaq 0x5349f(%rip), %rsi     # 0x77a5d
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq (%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x52fa5(%rip), %rsi     # 0x7758b
callq 0x8d70
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rax
movq 0x48(%rax), %rax
movq 0x8(%rax), %rdx
callq 0x227b0
movq -0x18(%rbp), %rdi
leaq 0x5298f(%rip), %rsi     # 0x76f9e
callq 0x8d70
leaq -0x60(%rbp), %rdi
callq 0x9310
movq -0x18(%rbp), %rdi
movl $0x29, %esi
callq 0x8ea0
movb $0x1, -0x1(%rbp)
jmp 0x24635
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xb0, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)