// File: /workspace/github_c_makefile_star2_O2/connycommy[P]atCmdDevice/src/test/unity.c
// Function: UnityAssertGreaterOrLessOrEqualNumber
void UnityAssertGreaterOrLessOrEqualNumber(const UNITY_INT threshold,
                                           const UNITY_INT actual,
                                           const UNITY_COMPARISON_T compare,
                                           const char *msg,
                                           const UNITY_LINE_TYPE lineNumber,
                                           const UNITY_DISPLAY_STYLE_T style)
{
    int failed = 0;
    RETURN_IF_FAIL_OR_IGNORE;

    if ((threshold == actual) && (compare & UNITY_EQUAL_TO)) { return; }
    if ((threshold == actual))                               { failed = 1; }

    if ((style & UNITY_DISPLAY_RANGE_INT) == UNITY_DISPLAY_RANGE_INT)
    {
        if ((actual > threshold) && (compare & UNITY_SMALLER_THAN)) { failed = 1; }
        if ((actual < threshold) && (compare & UNITY_GREATER_THAN)) { failed = 1; }
    }
    else /* UINT or HEX */
    {
        if (((UNITY_UINT)actual > (UNITY_UINT)threshold) && (compare & UNITY_SMALLER_THAN)) { failed = 1; }
        if (((UNITY_UINT)actual < (UNITY_UINT)threshold) && (compare & UNITY_GREATER_THAN)) { failed = 1; }
    }

    if (failed)
    {
        UnityTestResultsFailBegin(lineNumber);
        UnityPrint(UnityStrExpected);
        UnityPrintNumberByStyle(actual, style);
        if (compare & UNITY_GREATER_THAN) { UnityPrint(UnityStrGt);       }
        if (compare & UNITY_SMALLER_THAN) { UnityPrint(UnityStrLt);       }
        if (compare & UNITY_EQUAL_TO)     { UnityPrint(UnityStrOrEqual);  }
        if (compare == UNITY_NOT_EQUAL)   { UnityPrint(UnityStrNotEqual); }
        UnityPrintNumberByStyle(threshold, style);
        UnityAddMsgIfSpecified(msg);
        UNITY_FAIL_AND_BAIL;
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq 0x8925(%rip), %rax      # 0xda38
orq 0x8916(%rip), %rax      # 0xda30
jne 0x5231
movl %edx, %r15d
movq %rsi, %r12
movq %rdi, %r14
cmpq %rsi, %rdi
sete %al
testb %r15b, %al
jne 0x51a9
movl %r9d, %ebp
movq %rcx, %rbx
xorl %eax, %eax
cmpq %r12, %r14
sete %al
testb $0x10, %bpl
jne 0x5187
movl %r15d, %edx
andl $0x2, %edx
shrl %edx
testb $0x4, %r15b
pushq $0x1
popq %rcx
cmovel %eax, %ecx
cmpq %r14, %r12
cmovbel %eax, %ecx
setb %al
testb %dl, %al
je 0x51a5
movq %r8, %rdi
callq 0x4fe7
leaq 0x3918(%rip), %rdi      # 0x8a8e
callq 0x4934
movq %r12, %rdi
movl %ebp, %esi
callq 0x4a92
jmp 0x51d6
testb $0x2, %r15b
sete %dl
testb $0x4, %r15b
pushq $0x1
popq %rcx
cmovel %eax, %ecx
cmpq %r14, %r12
cmovlel %eax, %ecx
setge %al
orb %dl, %al
je 0x5167
testl %ecx, %ecx
jne 0x51b2
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
movq %r8, %rdi
callq 0x4fe7
leaq 0x38cd(%rip), %rdi      # 0x8a8e
callq 0x4934
movq %r12, %rdi
movl %ebp, %esi
callq 0x4a92
testb $0x2, %r15b
je 0x51e2
leaq 0x38c3(%rip), %rdi      # 0x8aa0
callq 0x4934
testb $0x4, %r15b
je 0x51f4
leaq 0x38d1(%rip), %rdi      # 0x8ac0
callq 0x4934
testb $0x1, %r15b
jne 0x5208
testl %r15d, %r15d
jne 0x5214
leaq 0x38da(%rip), %rdi      # 0x8ae0
jmp 0x520f
leaq 0x38c3(%rip), %rdi      # 0x8ad2
callq 0x4934
movq %r14, %rdi
movl %ebp, %esi
callq 0x4a92
movq %rbx, %rdi
callq 0x500c
movq $0x1, 0x87ff(%rip) # 0xda30
leaq 0x8808(%rip), %rdi      # 0xda40
pushq $0x1
popq %rsi
callq 0x10d0