// File: /workspace/github_c_makefile_star2_O0/masyagin1998[P]GCI/src/parser/ast.c
// Function: dump_relational_expr_ast_to_file_inner
static void dump_relational_expr_ast_to_file_inner(FILE*f, const struct RELATIONAL_EXPR_AST*ast, size_t spaces_num)
{
    if (ast->right == NULL) {
        dump_additive_expr_ast_to_file_inner(f, ast->left, spaces_num);
    } else {
        PUT_SPACES(); fprintf(f, "<relational_expr line=\"%zu\" pos=\"%zu\">\n", ast->line, ast->pos);
        INC_SPACES_NUM();
        dump_additive_expr_ast_to_file_inner(f, ast->left, spaces_num);
        if (ast->rel_op == AST_REL_OP_LT) {
            PUT_SPACES(); fprintf(f, "<op>LT</op>\n");
        } else if (ast->rel_op == AST_REL_OP_GT) {
            PUT_SPACES(); fprintf(f, "<op>GT</op>\n");
        } else if (ast->rel_op == AST_REL_OP_LE) {
            PUT_SPACES(); fprintf(f, "<op>LE</op>\n");
        } else if (ast->rel_op == AST_REL_OP_GE) {
            PUT_SPACES(); fprintf(f, "<op>GE</op>\n");
        }
        dump_additive_expr_ast_to_file_inner(f, ast->right, spaces_num);
        DEC_SPACES_NUM();
        PUT_SPACES(); fprintf(f, "</relational_expr>\n");
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xc1b8
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movq -0x18(%rbp), %rdx
callq 0xc500
jmp 0xc375
jmp 0xc1ba
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xc94f(%rip), %rsi      # 0x18b1a
leaq 0xd91d(%rip), %rcx      # 0x19aef
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rdx
movq -0x10(%rbp), %rax
movq 0x20(%rax), %rcx
leaq 0xce4b(%rip), %rsi      # 0x1903f
movb $0x0, %al
callq 0x1100
movq -0x18(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq (%rax), %rsi
movq -0x18(%rbp), %rdx
callq 0xc500
movq -0x10(%rbp), %rax
cmpl $0x0, 0x8(%rax)
jne 0xc25d
jmp 0xc227
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xc8e2(%rip), %rsi      # 0x18b1a
leaq 0xd8b0(%rip), %rcx      # 0x19aef
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
leaq 0xce16(%rip), %rsi      # 0x19067
movb $0x0, %al
callq 0x1100
jmp 0xc321
movq -0x10(%rbp), %rax
cmpl $0x1, 0x8(%rax)
jne 0xc29f
jmp 0xc269
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xc8a0(%rip), %rsi      # 0x18b1a
leaq 0xd86e(%rip), %rcx      # 0x19aef
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
leaq 0xcde1(%rip), %rsi      # 0x19074
movb $0x0, %al
callq 0x1100
jmp 0xc31f
movq -0x10(%rbp), %rax
cmpl $0x2, 0x8(%rax)
jne 0xc2de
jmp 0xc2ab
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xc85e(%rip), %rsi      # 0x18b1a
leaq 0xd82c(%rip), %rcx      # 0x19aef
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
leaq 0xcdac(%rip), %rsi      # 0x19081
movb $0x0, %al
callq 0x1100
jmp 0xc31d
movq -0x10(%rbp), %rax
cmpl $0x3, 0x8(%rax)
jne 0xc31b
jmp 0xc2ea
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xc81f(%rip), %rsi      # 0x18b1a
leaq 0xd7ed(%rip), %rcx      # 0x19aef
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
leaq 0xcd7a(%rip), %rsi      # 0x1908e
movb $0x0, %al
callq 0x1100
jmp 0xc31d
jmp 0xc31f
jmp 0xc321
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x18(%rbp), %rdx
callq 0xc500
movq -0x18(%rbp), %rax
subq $0x2, %rax
movq %rax, -0x18(%rbp)
jmp 0xc344
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xc7c5(%rip), %rsi      # 0x18b1a
leaq 0xd793(%rip), %rcx      # 0x19aef
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
leaq 0xcd2d(%rip), %rsi      # 0x1909b
movb $0x0, %al
callq 0x1100
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)