// File: /workspace/github_c_makefile_star2_O0/Paxa[P]fast_excel/libxlsxwriter/src/worksheet.c
// Function: worksheet_write_cfvo_num
STATIC void
_worksheet_write_cfvo_num(lxw_worksheet *self, uint8_t rule_type,
                          double value, uint8_t data_bar_2010)
{
    struct xml_attribute_list attributes;
    struct xml_attribute *attribute;

    LXW_INIT_ATTRIBUTES();

    if (rule_type == LXW_CONDITIONAL_RULE_TYPE_MINIMUM)
        LXW_PUSH_ATTRIBUTES_STR("type", "min");
    else if (rule_type == LXW_CONDITIONAL_RULE_TYPE_NUMBER)
        LXW_PUSH_ATTRIBUTES_STR("type", "num");
    else if (rule_type == LXW_CONDITIONAL_RULE_TYPE_PERCENT)
        LXW_PUSH_ATTRIBUTES_STR("type", "percent");
    else if (rule_type == LXW_CONDITIONAL_RULE_TYPE_PERCENTILE)
        LXW_PUSH_ATTRIBUTES_STR("type", "percentile");
    else if (rule_type == LXW_CONDITIONAL_RULE_TYPE_FORMULA)
        LXW_PUSH_ATTRIBUTES_STR("type", "formula");
    else if (rule_type == LXW_CONDITIONAL_RULE_TYPE_MAXIMUM)
        LXW_PUSH_ATTRIBUTES_STR("type", "max");

    if (!data_bar_2010 || (rule_type != LXW_CONDITIONAL_RULE_TYPE_MINIMUM
                           && rule_type != LXW_CONDITIONAL_RULE_TYPE_MAXIMUM))
        LXW_PUSH_ATTRIBUTES_DBL("val", value);

    lxw_xml_empty_tag(self->file, "cfvo", &attributes);

    LXW_FREE_ATTRIBUTES();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movb %dl, %al
movb %sil, %cl
movq %rdi, -0x8(%rbp)
movb %cl, -0x9(%rbp)
movsd %xmm0, -0x18(%rbp)
movb %al, -0x19(%rbp)
movq $0x0, -0x30(%rbp)
leaq -0x30(%rbp), %rax
movq %rax, -0x28(%rbp)
movzbl -0x9(%rbp), %eax
cmpl $0x1, %eax
jne 0x6118d
jmp 0x61147
leaq 0x7262(%rip), %rdi      # 0x683b0
leaq 0x61d9(%rip), %rsi      # 0x6732e
callq 0xc030
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x28(%rbp)
jmp 0x61188
jmp 0x61326
movzbl -0x9(%rbp), %eax
cmpl $0x2, %eax
jne 0x611de
jmp 0x61198
leaq 0x7211(%rip), %rdi      # 0x683b0
leaq 0xd97b(%rip), %rsi      # 0x6eb21
callq 0xc030
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x28(%rbp)
jmp 0x611d9
jmp 0x61324
movzbl -0x9(%rbp), %eax
cmpl $0x3, %eax
jne 0x6122f
jmp 0x611e9
leaq 0x71c0(%rip), %rdi      # 0x683b0
leaq 0xd8e0(%rip), %rsi      # 0x6ead7
callq 0xc030
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x28(%rbp)
jmp 0x6122a
jmp 0x61322
movzbl -0x9(%rbp), %eax
cmpl $0x4, %eax
jne 0x61280
jmp 0x6123a
leaq 0x716f(%rip), %rdi      # 0x683b0
leaq 0xd8dd(%rip), %rsi      # 0x6eb25
callq 0xc030
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x28(%rbp)
jmp 0x6127b
jmp 0x61320
movzbl -0x9(%rbp), %eax
cmpl $0x5, %eax
jne 0x612ce
jmp 0x6128b
leaq 0x711e(%rip), %rdi      # 0x683b0
leaq 0xd4b7(%rip), %rsi      # 0x6e750
callq 0xc030
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x28(%rbp)
jmp 0x612cc
jmp 0x6131e
movzbl -0x9(%rbp), %eax
cmpl $0x6, %eax
jne 0x6131c
jmp 0x612d9
leaq 0x70d0(%rip), %rdi      # 0x683b0
leaq 0x6041(%rip), %rsi      # 0x67328
callq 0xc030
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x28(%rbp)
jmp 0x6131a
jmp 0x6131c
jmp 0x6131e
jmp 0x61320
jmp 0x61322
jmp 0x61324
jmp 0x61326
cmpb $0x0, -0x19(%rbp)
je 0x6133e
movzbl -0x9(%rbp), %eax
cmpl $0x1, %eax
je 0x61381
movzbl -0x9(%rbp), %eax
cmpl $0x6, %eax
je 0x61381
jmp 0x61340
movsd -0x18(%rbp), %xmm0
leaq 0x5f50(%rip), %rdi      # 0x6729c
callq 0xcd20
movq %rax, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq $0x0, 0x1040(%rax)
movq -0x38(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, (%rax)
movq -0x38(%rbp), %rax
addq $0x1040, %rax           # imm = 0x1040
movq %rax, -0x28(%rbp)
jmp 0x6137f
jmp 0x61381
movq -0x8(%rbp), %rax
movq (%rax), %rdi
leaq 0xdc8a(%rip), %rsi      # 0x6f019
leaq -0x30(%rbp), %rdx
callq 0xcca0
jmp 0x6139a
cmpq $0x0, -0x30(%rbp)
sete %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x613aa
jmp 0x613dc
movq -0x30(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq 0x1040(%rax), %rax
movq %rax, -0x30(%rbp)
cmpq $0x0, %rax
jne 0x613cf
leaq -0x30(%rbp), %rax
movq %rax, -0x28(%rbp)
jmp 0x613d1
movq -0x38(%rbp), %rdi
callq 0xc0d0
jmp 0x6139a
jmp 0x613de
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)