// File: /workspace/github_c_makefile_star2_O0/masyagin1998[P]GCI/src/parser/ast.c
// Function: dump_if_stmt_ast_to_file_inner
static void dump_if_stmt_ast_to_file_inner(FILE*f, const struct IF_STMT_AST*ast, size_t spaces_num)
{
    PUT_SPACES(); fprintf(f, "<if_stmt line=\"%zu\" pos=\"%zu\">\n", ast->line, ast->pos);
    INC_SPACES_NUM();
    PUT_SPACES(); fprintf(f, "<condition>\n");
    INC_SPACES_NUM();
    dump_logical_or_expr_ast_to_file_inner(f, ast->condition, spaces_num);
    DEC_SPACES_NUM();
    PUT_SPACES(); fprintf(f, "</condition>\n");

    PUT_SPACES(); fprintf(f, "<if_body>\n");
    INC_SPACES_NUM();
    dump_body_ast_to_file_inner(f, ast->if_body, spaces_num);
    DEC_SPACES_NUM();
    PUT_SPACES(); fprintf(f, "</if_body>\n");

    if (ast->else_body != NULL) {
        PUT_SPACES(); fprintf(f, "<else_body>\n");
        INC_SPACES_NUM();
        dump_body_ast_to_file_inner(f, ast->else_body, spaces_num);
        DEC_SPACES_NUM();
        PUT_SPACES(); fprintf(f, "</else_body>\n");
    }

    DEC_SPACES_NUM();
    PUT_SPACES(); fprintf(f, "</if_stmt>\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xed35(%rip), %rsi      # 0x18b1a
leaq 0xfd03(%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 0xef05(%rip), %rsi      # 0x18d13
movb $0x0, %al
callq 0x1100
movq -0x18(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x18(%rbp)
jmp 0x9e23
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xece6(%rip), %rsi      # 0x18b1a
leaq 0xfcb4(%rip), %rcx      # 0x19aef
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
leaq 0xeee6(%rip), %rsi      # 0x18d33
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 0xb990
movq -0x18(%rbp), %rax
subq $0x2, %rax
movq %rax, -0x18(%rbp)
jmp 0x9e82
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xec87(%rip), %rsi      # 0x18b1a
leaq 0xfc55(%rip), %rcx      # 0x19aef
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
leaq 0xee94(%rip), %rsi      # 0x18d40
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xec56(%rip), %rsi      # 0x18b1a
leaq 0xfc24(%rip), %rcx      # 0x19aef
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
leaq 0xee71(%rip), %rsi      # 0x18d4e
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 0x8(%rax), %rsi
movq -0x18(%rbp), %rdx
callq 0x8ef0
movq -0x18(%rbp), %rax
subq $0x2, %rax
movq %rax, -0x18(%rbp)
jmp 0x9f13
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xebf6(%rip), %rsi      # 0x18b1a
leaq 0xfbc4(%rip), %rcx      # 0x19aef
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
leaq 0xee1c(%rip), %rsi      # 0x18d59
movb $0x0, %al
callq 0x1100
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
je 0x9fe6
jmp 0x9f55
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xebb4(%rip), %rsi      # 0x18b1a
leaq 0xfb82(%rip), %rcx      # 0x19aef
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
leaq 0xede6(%rip), %rsi      # 0x18d65
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 0x10(%rax), %rsi
movq -0x18(%rbp), %rdx
callq 0x8ef0
movq -0x18(%rbp), %rax
subq $0x2, %rax
movq %rax, -0x18(%rbp)
jmp 0x9fb5
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xeb54(%rip), %rsi      # 0x18b1a
leaq 0xfb22(%rip), %rcx      # 0x19aef
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
leaq 0xed93(%rip), %rsi      # 0x18d72
movb $0x0, %al
callq 0x1100
jmp 0x9fe8
movq -0x18(%rbp), %rax
subq $0x2, %rax
movq %rax, -0x18(%rbp)
jmp 0x9ff6
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movl %eax, %edx
leaq 0xeb13(%rip), %rsi      # 0x18b1a
leaq 0xfae1(%rip), %rcx      # 0x19aef
movb $0x0, %al
callq 0x1100
movq -0x8(%rbp), %rdi
leaq 0xed60(%rip), %rsi      # 0x18d80
movb $0x0, %al
callq 0x1100
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)