LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_stats_table_striped_profile_sse41_128_sat
parasail_result_t* parasail_sg_qe_de_stats_table_striped_profile_sse41_128_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_stats_table_striped_profile_sse41_128_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_table_striped_profile_sse41_128_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_table_striped_profile_sse41_128_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x3ead1b
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23afaf
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x3e6b68
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23afe4
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3e2d00
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_stats_table_striped_profile_avx2_256_sat
parasail_result_t* parasail_sg_qe_de_stats_table_striped_profile_avx2_256_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_stats_table_striped_profile_avx2_256_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_table_striped_profile_avx2_256_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_table_striped_profile_avx2_256_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x4ee1f0
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b041
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x4e9a57
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b076
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x4e591f
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_rowcol_scan_profile_sat
parasail_result_t* parasail_sg_qe_de_rowcol_scan_profile_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_rowcol_scan_profile_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_scan_profile_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_scan_profile_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x1ebbfb
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b0d3
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x1ebbf2
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b108
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1ebbe9
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_rowcol_scan_profile_sse2_128_sat
parasail_result_t* parasail_sg_qe_de_rowcol_scan_profile_sse2_128_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_rowcol_scan_profile_sse2_128_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_scan_profile_sse2_128_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_scan_profile_sse2_128_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x2f57ff
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b165
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x2f3464
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b19a
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x2f1467
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_rowcol_scan_profile_sse41_128_sat
parasail_result_t* parasail_sg_qe_de_rowcol_scan_profile_sse41_128_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_rowcol_scan_profile_sse41_128_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_scan_profile_sse41_128_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_scan_profile_sse41_128_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x3f3649
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b1f7
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x3f157a
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b22c
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3ef6f1
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_rowcol_scan_profile_avx2_256_sat
parasail_result_t* parasail_sg_qe_de_rowcol_scan_profile_avx2_256_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_rowcol_scan_profile_avx2_256_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_scan_profile_avx2_256_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_scan_profile_avx2_256_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x4f7a79
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b289
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x4f5424
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b2be
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x4f32fc
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_rowcol_striped_profile_sat
parasail_result_t* parasail_sg_qe_de_rowcol_striped_profile_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_rowcol_striped_profile_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_striped_profile_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_striped_profile_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x1ebc1f
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b31b
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x1ebc16
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b350
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1ebc0d
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_rowcol_striped_profile_sse2_128_sat
parasail_result_t* parasail_sg_qe_de_rowcol_striped_profile_sse2_128_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_rowcol_striped_profile_sse2_128_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_striped_profile_sse2_128_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_striped_profile_sse2_128_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x309f8e
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b3ad
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x307e2b
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b3e2
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3060d6
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_rowcol_striped_profile_sse41_128_sat
parasail_result_t* parasail_sg_qe_de_rowcol_striped_profile_sse41_128_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_rowcol_striped_profile_sse41_128_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_striped_profile_sse41_128_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_striped_profile_sse41_128_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x405811
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b43f
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x40395e
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b474
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x401d47
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_rowcol_striped_profile_avx2_256_sat
parasail_result_t* parasail_sg_qe_de_rowcol_striped_profile_avx2_256_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_rowcol_striped_profile_avx2_256_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_striped_profile_avx2_256_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_rowcol_striped_profile_avx2_256_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x50fa29
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b4d1
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x50d5cd
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b506
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x50b738
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_stats_rowcol_scan_profile_sat
parasail_result_t* parasail_sg_qe_de_stats_rowcol_scan_profile_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_stats_rowcol_scan_profile_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_scan_profile_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_scan_profile_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x1ebc43
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b563
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x1ebc3a
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b598
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1ebc31
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_stats_rowcol_scan_profile_sse2_128_sat
parasail_result_t* parasail_sg_qe_de_stats_rowcol_scan_profile_sse2_128_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_stats_rowcol_scan_profile_sse2_128_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_scan_profile_sse2_128_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_scan_profile_sse2_128_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x31ab0f
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b5f5
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x316862
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b62a
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3128ec
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_stats_rowcol_scan_profile_sse41_128_sat
parasail_result_t* parasail_sg_qe_de_stats_rowcol_scan_profile_sse41_128_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_stats_rowcol_scan_profile_sse41_128_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_scan_profile_sse41_128_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_scan_profile_sse41_128_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x414dfe
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b687
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x4110e2
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b6bc
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x40d5f1
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_stats_rowcol_scan_profile_avx2_256_sat
parasail_result_t* parasail_sg_qe_de_stats_rowcol_scan_profile_avx2_256_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_stats_rowcol_scan_profile_avx2_256_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_scan_profile_avx2_256_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_scan_profile_avx2_256_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x51f797
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b719
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x51b6e6
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b74e
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x517a27
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_stats_rowcol_striped_profile_sat
parasail_result_t* parasail_sg_qe_de_stats_rowcol_striped_profile_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_stats_rowcol_striped_profile_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_striped_profile_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_striped_profile_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x1ebc67
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b7ab
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x1ebc5e
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b7e0
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1ebc55
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_stats_rowcol_striped_profile_sse2_128_sat
parasail_result_t* parasail_sg_qe_de_stats_rowcol_striped_profile_sse2_128_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_stats_rowcol_striped_profile_sse2_128_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_striped_profile_sse2_128_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_striped_profile_sse2_128_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x33f17f
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b83d
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x33b18d
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b872
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x33748f
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_stats_rowcol_striped_profile_sse41_128_sat
parasail_result_t* parasail_sg_qe_de_stats_rowcol_striped_profile_sse41_128_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_stats_rowcol_striped_profile_sse41_128_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_striped_profile_sse41_128_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_striped_profile_sse41_128_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x43537d
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b8cf
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x431864
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b904
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x42e018
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_stats_rowcol_striped_profile_avx2_256_sat
parasail_result_t* parasail_sg_qe_de_stats_rowcol_striped_profile_avx2_256_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_stats_rowcol_striped_profile_avx2_256_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_striped_profile_avx2_256_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_stats_rowcol_striped_profile_avx2_256_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x54455e
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b961
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x54062c
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b996
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x53cc11
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_trace_scan_profile_sat
parasail_result_t* parasail_sg_qe_de_trace_scan_profile_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_trace_scan_profile_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_scan_profile_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_scan_profile_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x1ebc8b
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23b9f3
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x1ebc82
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23ba28
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1ebc79
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_trace_scan_profile_sse2_128_sat
parasail_result_t* parasail_sg_qe_de_trace_scan_profile_sse2_128_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_trace_scan_profile_sse2_128_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_scan_profile_sse2_128_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_scan_profile_sse2_128_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x348cd7
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23ba85
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x346b3c
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23baba
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x344b31
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_trace_scan_profile_sse41_128_sat
parasail_result_t* parasail_sg_qe_de_trace_scan_profile_sse41_128_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_trace_scan_profile_sse41_128_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_scan_profile_sse41_128_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_scan_profile_sse41_128_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x43ddcf
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23bb17
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x43bf33
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23bb4c
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x43a090
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_trace_scan_profile_avx2_256_sat
parasail_result_t* parasail_sg_qe_de_trace_scan_profile_avx2_256_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_trace_scan_profile_avx2_256_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_scan_profile_avx2_256_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_scan_profile_avx2_256_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x54d0d6
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23bba9
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x54b2e9
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23bbde
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x5494d8
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_trace_striped_profile_sat
parasail_result_t* parasail_sg_qe_de_trace_striped_profile_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_trace_striped_profile_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_striped_profile_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_striped_profile_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x1ebcaf
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23bc3b
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x1ebca6
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23bc70
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x1ebc9d
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_trace_striped_profile_sse2_128_sat
parasail_result_t* parasail_sg_qe_de_trace_striped_profile_sse2_128_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_trace_striped_profile_sse2_128_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_striped_profile_sse2_128_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_striped_profile_sse2_128_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x36011b
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23bccd
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x35d7e6
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23bd02
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x35b0ed
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sg_qe_de_trace_striped_profile_avx2_256_sat
parasail_result_t* parasail_sg_qe_de_trace_striped_profile_avx2_256_sat(
        const parasail_profile_t * const restrict profile,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap)
{
    parasail_result_t * result = NULL;

    result = parasail_sg_qe_de_trace_striped_profile_avx2_256_8(profile, s2, s2Len, open, gap);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_striped_profile_avx2_256_16(profile, s2, s2Len, open, gap);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sg_qe_de_trace_striped_profile_avx2_256_32(profile, s2, s2Len, open, gap);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r8d, %ebx
movl %ecx, %ebp
movl %edx, %r14d
movq %rsi, %r15
movq %rdi, %r12
callq 0x5666ab
movq %rax, %r13
movq %rax, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23bdf1
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x564157
movq %rax, %r13
movq %r13, %rdi
callq 0x1ace42
testl %eax, %eax
je 0x23be26
movq %r13, %rdi
callq 0x1abdad
movq %r12, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x561bef
movq %r13, %rax
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/nw_scan_sse2_128_64.c
// Function: parasail_nw_scan_sse2_128_64
parasail_result_t* FNAME(
        const char * const restrict s1, const int s1Len,
        const char * const restrict s2, const int s2Len,
        const int open, const int gap, const parasail_matrix_t *matrix)
{
    /* declare local variables */
    parasail_profile_t *profile = NULL;
    parasail_result_t *result = NULL;

    /* validate inputs */
    PARASAIL_CHECK_NULL(s2);
    PARASAIL_CHECK_GT0(s2Len);
    PARASAIL_CHECK_GE0(open);
    PARASAIL_CHECK_GE0(gap);
    PARASAIL_CHECK_NULL(matrix);
    if (matrix->type == PARASAIL_MATRIX_TYPE_SQUARE) {
        PARASAIL_CHECK_NULL(s1);
        PARASAIL_CHECK_GT0(s1Len);
    }

    /* initialize local variables */
    profile = parasail_profile_create_sse_128_64(s1, s1Len, matrix);
    if (!profile) return NULL;
    result = PNAME(profile, s2, s2Len, open, gap);

    parasail_profile_free(profile);

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
testq %rdx, %rdx
je 0x24f977
movl %ecx, %r14d
testl %ecx, %ecx
jle 0x24f99b
movl %r8d, %ebp
testl %r8d, %r8d
js 0x24f9bf
movl %r9d, %ebx
testl %r9d, %r9d
js 0x24f9e3
movq %rdx, %r15
movq 0x30(%rsp), %rdx
testq %rdx, %rdx
je 0x24fa04
cmpl $0x0, 0x30(%rdx)
jne 0x24f940
testq %rdi, %rdi
je 0x24fa25
testl %esi, %esi
jle 0x24fa46
callq 0x29832f
testq %rax, %rax
je 0x24fa6c
movq %rax, %r12
movq %rax, %rdi
movq %r15, %rsi
movl %r14d, %edx
movl %ebp, %ecx
movl %ebx, %r8d
callq 0x24fa77
movq %rax, %rbx
movq %r12, %rdi
callq 0x1acbf0
movq %rbx, %rax
jmp 0x24fa6e
movq 0x4eb65a(%rip), %rax    # 0x73afd8
movq (%rax), %rdi
leaq 0x377663(%rip), %rsi    # 0x5c6feb
leaq 0x319558(%rip), %rdx    # 0x568ee7
leaq 0x377d68(%rip), %rcx    # 0x5c76fe
jmp 0x24fa65
movq 0x4eb636(%rip), %rax    # 0x73afd8
movq (%rax), %rdi
leaq 0x377d55(%rip), %rsi    # 0x5c7701
leaq 0x319534(%rip), %rdx    # 0x568ee7
leaq 0x377d5b(%rip), %rcx    # 0x5c7715
jmp 0x24fa65
movq 0x4eb612(%rip), %rax    # 0x73afd8
movq (%rax), %rdi
leaq 0x377d4b(%rip), %rsi    # 0x5c771b
leaq 0x319510(%rip), %rdx    # 0x568ee7
leaq 0x377d52(%rip), %rcx    # 0x5c7730
jmp 0x24fa65
movq 0x4eb5ee(%rip), %rax    # 0x73afd8
movq (%rax), %rdi
leaq 0x377d27(%rip), %rsi    # 0x5c771b
leaq 0x3194ec(%rip), %rdx    # 0x568ee7
leaq 0x377d33(%rip), %rcx    # 0x5c7735
jmp 0x24fa65
movq 0x4eb5cd(%rip), %rax    # 0x73afd8
movq (%rax), %rdi
leaq 0x3775d6(%rip), %rsi    # 0x5c6feb
leaq 0x3194cb(%rip), %rdx    # 0x568ee7
leaq 0x377f1f(%rip), %rcx    # 0x5c7942
jmp 0x24fa65
movq 0x4eb5ac(%rip), %rax    # 0x73afd8
movq (%rax), %rdi
leaq 0x3775b5(%rip), %rsi    # 0x5c6feb
leaq 0x3194aa(%rip), %rdx    # 0x568ee7
leaq 0x377cf6(%rip), %rcx    # 0x5c773a
jmp 0x24fa65
movq 0x4eb58b(%rip), %rax    # 0x73afd8
movq (%rax), %rdi
leaq 0x377caa(%rip), %rsi    # 0x5c7701
leaq 0x319489(%rip), %rdx    # 0x568ee7
leaq 0x377eed(%rip), %rcx    # 0x5c7952
xorl %eax, %eax
callq 0x19e180
xorl %eax, %eax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/memory_sse.c
// Function: parasail_profile_create_sse_128_sat
parasail_profile_t* parasail_profile_create_sse_128_sat(
        const char * const restrict s1, const int s1Len,
        const parasail_matrix_t *matrix)
{
    parasail_profile_t *profile8 = parasail_profile_create_sse_128_8(s1, s1Len, matrix);
    parasail_profile_t *profile16 = parasail_profile_create_sse_128_16(s1, s1Len, matrix);
    parasail_profile_t *profile32 = parasail_profile_create_sse_128_32(s1, s1Len, matrix);
    profile8->profile16 = profile16->profile16;
    profile8->profile32 = profile32->profile32;
    free(profile16);
    free(profile32);

    return profile8;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movq %rdx, %r14
movl %esi, %ebp
movq %rdi, %r15
callq 0x297cf1
movq %rax, %rbx
movq %r15, %rdi
movl %ebp, %esi
movq %r14, %rdx
callq 0x297f09
movq %rax, %r12
movq %r15, %rdi
movl %ebp, %esi
movq %r14, %rdx
callq 0x29811d
movq %rax, %r14
movups 0x30(%r12), %xmm0
movups %xmm0, 0x30(%rbx)
movq 0x40(%r12), %rax
movq %rax, 0x40(%rbx)
movups 0x48(%r14), %xmm0
movups %xmm0, 0x48(%rbx)
movq 0x58(%r14), %rax
movq %rax, 0x58(%rbx)
movq %r12, %rdi
callq 0x19e120
movq %r14, %rdi
callq 0x19e120
movq %rbx, %rax
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O2/nh13[P]ksw/src/parasail/src/nw_striped_sse2_128_32.c
// Function: arr_store_si128
static inline void arr_store_si128(
        int *array,
        __m128i vH,
        int32_t t,
        int32_t seglen,
        int32_t d,
        int32_t dlen)
{
    array[1LL*(0*seglen+t)*dlen + d] = (int32_t)_mm_extract_epi32_rpl(vH, 0);
    array[1LL*(1*seglen+t)*dlen + d] = (int32_t)_mm_extract_epi32_rpl(vH, 1);
    array[1LL*(2*seglen+t)*dlen + d] = (int32_t)_mm_extract_epi32_rpl(vH, 2);
    array[1LL*(3*seglen+t)*dlen + d] = (int32_t)_mm_extract_epi32_rpl(vH, 3);
}

// Assembly:
movslq %esi, %rax
movl %r8d, %esi
leal (%rdx,%rax), %r8d
movslq %r8d, %r8
imulq %rsi, %r8
leal (%rax,%rdx,2), %r9d
movslq %r9d, %r9
imulq %rsi, %r9
leal (%rdx,%rdx,2), %edx
addl %eax, %edx
movslq %edx, %rdx
imulq %rsi, %rdx
imulq %rax, %rsi
movslq %ecx, %rax
leaq (%rdi,%rsi,4), %rcx
movd %xmm0, (%rcx,%rax,4)
pshufd $0x55, %xmm0, %xmm1     # xmm1 = xmm0[1,1,1,1]
leaq (%rdi,%r8,4), %rcx
movd %xmm1, (%rcx,%rax,4)
pshufd $0xee, %xmm0, %xmm1     # xmm1 = xmm0[2,3,2,3]
leaq (%rdi,%r9,4), %rcx
movd %xmm1, (%rcx,%rax,4)
pshufd $0xff, %xmm0, %xmm0     # xmm0 = xmm0[3,3,3,3]
leaq (%rdi,%rdx,4), %rcx
movd %xmm0, (%rcx,%rax,4)
retq
nopl (%rax)