LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_stats_table_striped_avx2_256_sat
parasail_result_t* parasail_sw_stats_table_striped_avx2_256_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_stats_table_striped_avx2_256_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_table_striped_avx2_256_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_table_striped_avx2_256_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x51d3c8
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x253c03
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x5188cc
movq %rax, %rbx
jmp 0x253c08
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x253c42
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x514198
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_stats_table_diag_sat
parasail_result_t* parasail_sw_stats_table_diag_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_stats_table_diag_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_table_diag_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_table_diag_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x218f7f
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x253ccd
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x218f76
movq %rax, %rbx
jmp 0x253cd2
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x253d0c
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x218f6d
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_stats_table_diag_sse2_128_sat
parasail_result_t* parasail_sw_stats_table_diag_sse2_128_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_stats_table_diag_sse2_128_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_table_diag_sse2_128_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_table_diag_sse2_128_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x325e30
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x253d97
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x320560
movq %rax, %rbx
jmp 0x253d9c
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x253dd6
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x31c028
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_stats_table_diag_sse41_128_sat
parasail_result_t* parasail_sw_stats_table_diag_sse41_128_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_stats_table_diag_sse41_128_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_table_diag_sse41_128_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_table_diag_sse41_128_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x4120c0
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x253e61
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x40ceb4
movq %rax, %rbx
jmp 0x253e66
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x253ea0
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x408c7c
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_rowcol_scan_sat
parasail_result_t* parasail_sw_rowcol_scan_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_rowcol_scan_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_scan_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_scan_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x218fa3
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x253ff5
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x218f9a
movq %rax, %rbx
jmp 0x253ffa
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x254034
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x218f91
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_rowcol_scan_sse2_128_sat
parasail_result_t* parasail_sw_rowcol_scan_sse2_128_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_rowcol_scan_sse2_128_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_scan_sse2_128_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_scan_sse2_128_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x33fb00
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x2540bf
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x33dc08
movq %rax, %rbx
jmp 0x2540c4
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x2540fe
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x33c120
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_rowcol_scan_sse41_128_sat
parasail_result_t* parasail_sw_rowcol_scan_sse41_128_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_rowcol_scan_sse41_128_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_scan_sse41_128_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_scan_sse41_128_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x429fb0
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x254189
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x42830c
movq %rax, %rbx
jmp 0x25418e
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x2541c8
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x426944
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_rowcol_striped_sat
parasail_result_t* parasail_sw_rowcol_striped_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_rowcol_striped_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_striped_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_striped_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x218fc7
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x25431d
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x218fbe
movq %rax, %rbx
jmp 0x254322
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x25435c
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x218fb5
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_rowcol_striped_sse2_128_sat
parasail_result_t* parasail_sw_rowcol_striped_sse2_128_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_rowcol_striped_sse2_128_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_striped_sse2_128_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_striped_sse2_128_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x351df8
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x2543e7
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x3500e0
movq %rax, %rbx
jmp 0x2543ec
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x254426
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x34e834
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_rowcol_striped_sse41_128_sat
parasail_result_t* parasail_sw_rowcol_striped_sse41_128_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_rowcol_striped_sse41_128_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_striped_sse41_128_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_striped_sse41_128_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x43afe4
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x2544b1
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x439508
movq %rax, %rbx
jmp 0x2544b6
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x2544f0
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x437d20
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_rowcol_striped_avx2_256_sat
parasail_result_t* parasail_sw_rowcol_striped_avx2_256_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_rowcol_striped_avx2_256_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_striped_avx2_256_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_striped_avx2_256_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x53e14c
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x25457b
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x53c06c
movq %rax, %rbx
jmp 0x254580
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x2545ba
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x53a5d0
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_rowcol_diag_sat
parasail_result_t* parasail_sw_rowcol_diag_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_rowcol_diag_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_diag_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_diag_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x218feb
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x254645
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x218fe2
movq %rax, %rbx
jmp 0x25464a
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x254684
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x218fd9
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_rowcol_diag_sse2_128_sat
parasail_result_t* parasail_sw_rowcol_diag_sse2_128_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_rowcol_diag_sse2_128_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_diag_sse2_128_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_diag_sse2_128_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x34a16c
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x25470f
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x3465b8
movq %rax, %rbx
jmp 0x254714
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x25474e
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x343e30
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_rowcol_diag_sse41_128_sat
parasail_result_t* parasail_sw_rowcol_diag_sse41_128_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_rowcol_diag_sse41_128_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_diag_sse41_128_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_diag_sse41_128_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x433a50
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x2547d9
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x43016c
movq %rax, %rbx
jmp 0x2547de
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x254818
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x42dc0c
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_rowcol_diag_avx2_256_sat
parasail_result_t* parasail_sw_rowcol_diag_avx2_256_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_rowcol_diag_avx2_256_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_diag_avx2_256_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_rowcol_diag_avx2_256_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x534c6c
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x2548a3
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x52ee2c
movq %rax, %rbx
jmp 0x2548a8
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x2548e2
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x52b5c8
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_stats_rowcol_scan_sat
parasail_result_t* parasail_sw_stats_rowcol_scan_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_stats_rowcol_scan_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_scan_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_scan_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x21900f
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x25496d
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x219006
movq %rax, %rbx
jmp 0x254972
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x2549ac
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x218ffd
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_stats_rowcol_scan_avx2_256_sat
parasail_result_t* parasail_sw_stats_rowcol_scan_avx2_256_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_stats_rowcol_scan_avx2_256_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_scan_avx2_256_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_scan_avx2_256_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x54dbd0
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x254bcb
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x549ad8
movq %rax, %rbx
jmp 0x254bd0
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x254c0a
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x545a2c
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_stats_rowcol_striped_sat
parasail_result_t* parasail_sw_stats_rowcol_striped_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_stats_rowcol_striped_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_striped_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_striped_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x219033
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x254c95
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x21902a
movq %rax, %rbx
jmp 0x254c9a
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x254cd4
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x219021
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_stats_rowcol_striped_sse2_128_sat
parasail_result_t* parasail_sw_stats_rowcol_striped_sse2_128_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_stats_rowcol_striped_sse2_128_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_striped_sse2_128_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_striped_sse2_128_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x383d28
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x254d5f
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x37fa1c
movq %rax, %rbx
jmp 0x254d64
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x254d9e
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x37c158
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_stats_rowcol_striped_sse41_128_sat
parasail_result_t* parasail_sw_stats_rowcol_striped_sse41_128_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_stats_rowcol_striped_sse41_128_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_striped_sse41_128_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_striped_sse41_128_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x46963c
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x254e29
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x465794
movq %rax, %rbx
jmp 0x254e2e
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x254e68
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x462324
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_stats_rowcol_striped_avx2_256_sat
parasail_result_t* parasail_sw_stats_rowcol_striped_avx2_256_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_stats_rowcol_striped_avx2_256_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_striped_avx2_256_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_striped_avx2_256_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x573764
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x254ef3
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x56f8cc
movq %rax, %rbx
jmp 0x254ef8
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x254f32
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x56bd1c
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_stats_rowcol_diag_sat
parasail_result_t* parasail_sw_stats_rowcol_diag_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_stats_rowcol_diag_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_diag_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_diag_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x219057
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x254fbd
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x21904e
movq %rax, %rbx
jmp 0x254fc2
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x254ffc
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x219045
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_stats_rowcol_diag_sse2_128_sat
parasail_result_t* parasail_sw_stats_rowcol_diag_sse2_128_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_stats_rowcol_diag_sse2_128_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_diag_sse2_128_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_diag_sse2_128_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x373d94
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x255087
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x36e35c
movq %rax, %rbx
jmp 0x25508c
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x2550c6
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x369ccc
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_stats_rowcol_diag_avx2_256_sat
parasail_result_t* parasail_sw_stats_rowcol_diag_avx2_256_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_stats_rowcol_diag_avx2_256_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_diag_avx2_256_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_stats_rowcol_diag_avx2_256_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x562fd4
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x25521b
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x55bac8
movq %rax, %rbx
jmp 0x255220
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x25525a
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x5568b4
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/satcheck.c
// Function: parasail_sw_trace_scan_sse2_128_sat
parasail_result_t* parasail_sw_trace_scan_sse2_128_sat(
        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)
{
    parasail_result_t * result = NULL;

    result = parasail_sw_trace_scan_sse2_128_8(s1, s1Len, s2, s2Len, open, gap, matrix);
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_trace_scan_sse2_128_16(s1, s1Len, s2, s2Len, open, gap, matrix);
    }
    if (parasail_result_is_saturated(result)) {
        parasail_result_free(result);
        result = parasail_sw_trace_scan_sse2_128_32(s1, s1Len, s2, s2Len, open, gap, matrix);
    }

    return result;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movl %r8d, %r15d
movl %ecx, %r12d
movq %rdx, %r13
movl %esi, %ebp
movq %rdi, %r14
movq 0x60(%rsp), %rax
movq %rax, 0x18(%rsp)
movq %rax, (%rsp)
movl %r9d, 0x14(%rsp)
callq 0x38c49c
movq %rax, %rbx
movq %rax, %rdi
callq 0x20a805
testl %eax, %eax
movq %r14, 0x20(%rsp)
je 0x2553af
movq %rbx, %rdi
callq 0x209999
movq 0x18(%rsp), %rax
movq %rax, (%rsp)
movq %r14, %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl 0x14(%rsp), %r14d
movl %r14d, %r9d
callq 0x38a78c
movq %rax, %rbx
jmp 0x2553b4
movl 0x14(%rsp), %r14d
movq %rbx, %rdi
callq 0x20a805
testl %eax, %eax
je 0x2553ee
movq %rbx, %rdi
callq 0x209999
movq 0x20(%rsp), %rdi
movl %ebp, %esi
movq %r13, %rdx
movl %r12d, %ecx
movl %r15d, %r8d
movl %r14d, %r9d
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x388bd8
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq