LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/config.c
// Function: find_end_of_quoted_string
static size_t find_end_of_quoted_string(const struct cfg_string *str, 
                                        size_t current, 
                                        enum cfg_status *status)
{
    size_t loc=0;

    *status = CFG_EOF;
    if (current == (str->size-1)) {
        return 0;
    }

    // skip past the quote
    current++;
    while (1) {
        loc = find_char(str, current, CFG_QUOTE, status);
        // the end of the word could come with no white space, that is OK too
        if (*status) {
            break;
        }

        if (str->data[loc-1] == CFG_ESCAPE) {
            current=loc+1;
            continue;
        } else {
            break;
        }
    }
    return loc;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq $0x0, -0x28(%rbp)
movq -0x20(%rbp), %rax
movl $0x6, (%rax)
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
jne 0x9e44
movq $0x0, -0x8(%rbp)
jmp 0x9ea6
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rcx
movl $0x22, %edx
callq 0x95e0
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
cmpl $0x0, (%rax)
je 0x9e75
jmp 0x9e9e
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq -0x28(%rbp), %rcx
subq $0x1, %rcx
movsbl (%rax,%rcx), %eax
cmpl $0x5c, %eax
jne 0x9e9c
movq -0x28(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0x9e50
jmp 0x9e9e
movq -0x28(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/config.c
// Function: cfg_strvec_append_nocopy
static void cfg_strvec_append_nocopy(struct cfg_strvec* vec, char *str)
{
    size_t size=0;
    size = vec->size;

    if (size == vec->capacity) {
        cfg_strvec_realloc(vec, vec->capacity*2);
    }
    vec->size++;
    vec->data[vec->size-1] = str;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq -0x8(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0x9ef5
movq -0x8(%rbp), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
shlq %rsi
callq 0x9f30
movq -0x8(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rdx
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x8(%rbp), %rcx
movq (%rcx), %rcx
subq $0x1, %rcx
movq %rdx, (%rax,%rcx,8)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/config.c
// Function: cfg_strvec_realloc
static void cfg_strvec_realloc(struct cfg_strvec* vec, size_t newcap)
{
    size_t oldcap = 0, num_new_bytes=0;
    if (!vec) {
        return;
    }
    oldcap = vec->capacity;
    if (newcap > oldcap) {
        vec->data = realloc(vec->data, newcap*sizeof(char*));

        if (vec->data == NULL) {
            fprintf(stderr,"failed to realloc string vec\n");
            exit(1);
        }
        num_new_bytes = (newcap-oldcap)*sizeof(char*);
        memset(vec->data + oldcap, 0, num_new_bytes);
        vec->capacity = newcap;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0x9f5c
jmp 0x9ffd
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x18(%rbp), %rax
jbe 0x9ffd
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rsi
shlq $0x3, %rsi
callq 0x2200
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0x9fc3
movq 0x8050(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x4e05(%rip), %rsi      # 0xedb7
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x10(%rbp), %rax
subq -0x18(%rbp), %rax
shlq $0x3, %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x20(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/config.c
// Function: cfg_realloc
static void cfg_realloc(struct cfg* self, size_t newcap)
{
    size_t oldcap = 0, num_new_bytes=0;
    if (!self) {
        return;
    }
    oldcap = self->capacity;
    if (newcap > oldcap) {
        self->fields = realloc(self->fields, newcap*sizeof(struct cfg_field*));

        if (self->fields == NULL) {
            fprintf(stderr,"failed to realloc config\n");
            exit(1);
        }
        num_new_bytes = (newcap-oldcap)*sizeof(struct cfg_field*);
        memset(self->fields + oldcap, 0, num_new_bytes);
        self->capacity = newcap;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq $0x0, -0x20(%rbp)
cmpq $0x0, -0x8(%rbp)
jne 0xa03c
jmp 0xa0dd
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
cmpq -0x18(%rbp), %rax
jbe 0xa0dd
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x10(%rbp), %rsi
shlq $0x3, %rsi
callq 0x2200
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xa0a3
movq 0x7f70(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x4d43(%rip), %rsi      # 0xedd5
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x10(%rbp), %rax
subq -0x18(%rbp), %rax
shlq $0x3, %rax
movq %rax, -0x20(%rbp)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x20(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x10(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x8(%rax)
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/urls.c
// Function: open_url
FILE* open_url(const char* filename, const char* mode) {
    FILE* stream=fopen(filename,mode);
    if (stream==NULL) {
        wlog("Could not open file: %s\n", filename);
        exit(EXIT_FAILURE);
    }
    return stream;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
callq 0x2210
movq %rax, -0x18(%rbp)
cmpq $0x0, -0x18(%rbp)
jne 0xa13e
movq 0x7ed9(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
movq -0x8(%rbp), %rdx
leaq 0x4b57(%rip), %rsi      # 0xec84
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/urls.c
// Function: count_lines
size_t count_lines(FILE* stream)
{
    size_t nlines=0;

    while (EOF != (fscanf(stream,"%*[^\n]"), fscanf(stream,"%*c")))  {
        ++nlines;
    }
    return nlines;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq $0x0, -0x10(%rbp)
movq -0x8(%rbp), %rdi
leaq 0x4d62(%rip), %rsi      # 0xeed1
movb $0x0, %al
callq 0x2070
movq -0x8(%rbp), %rdi
leaq 0x4d57(%rip), %rsi      # 0xeed8
movb $0x0, %al
callq 0x2070
movl %eax, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmpl %ecx, %eax
je 0xa1a1
movq -0x10(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x10(%rbp)
jmp 0xa164
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/urls.c
// Function: count_lines_and_rewind
size_t count_lines_and_rewind(FILE* stream)
{
    rewind(stream);

    size_t nlines=count_lines(stream);

    rewind(stream);
    return nlines;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x8(%rbp)
movq -0x8(%rbp), %rdi
callq 0x20f0
movq -0x8(%rbp), %rdi
callq 0xa150
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rdi
callq 0x20f0
movq -0x10(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: szvector_new
szvector* szvector_new() {
    szvector* self = calloc(1,sizeof(szvector));
    if (self == NULL) {
        fprintf(stderr,"Could not allocate szvector\n");
        return NULL;
    }

    self->capacity = VECTOR_INITCAP;

    self->data = calloc(self->capacity, sizeof(size_t));
    if (self->data == NULL) {
        fprintf(stderr,"Could not allocate data for vector\n");
        exit(1);
    }

    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x1, %edi
movl $0x18, %esi
callq 0x2140
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xa234
movq 0x7ddf(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x4cb9(%rip), %rsi      # 0xeedc
movb $0x0, %al
callq 0x2170
movq $0x0, -0x8(%rbp)
jmp 0xa292
movq -0x10(%rbp), %rax
movq $0x1, 0x8(%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x8, %esi
callq 0x2140
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xa28a
movq 0x7d89(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x4c80(%rip), %rsi      # 0xeef9
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: szvector_copy
szvector* szvector_copy(szvector* self) {
    szvector* vcopy=szvector_new();
    vector_resize(vcopy, self->size);

    if (self->size > 0) {
        memcpy(vcopy->data, self->data, self->size*sizeof(size_t));
    }

    return vcopy;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
callq 0xa1f0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jbe 0xa3b7
jmp 0xa2cc
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq (%rcx), %rax
jae 0xa2fb
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x1, -0x18(%rbp)
jae 0xa30a
movq $0x1, -0x18(%rbp)
movq $0x8, -0x28(%rbp)
movq -0x18(%rbp), %rax
cmpq -0x20(%rbp), %rax
je 0xa3b3
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rsi
imulq -0x28(%rbp), %rsi
callq 0x2200
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xa36e
movq 0x7ca5(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x3da0(%rip), %rsi      # 0xe0fd
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x18(%rbp), %rax
cmpq -0x20(%rbp), %rax
jbe 0xa3a7
movq -0x18(%rbp), %rax
subq -0x20(%rbp), %rax
imulq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x30(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0xa3b5
jmp 0xa3b7
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
jbe 0xa3ef
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
shlq $0x3, %rdx
callq 0x21a0
movq -0x10(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: szvector_fromarray
szvector* szvector_fromarray(size_t* data, size_t size) {
    szvector* self=szvector_new();
    vector_resize(self, size);

    if (self->size > 0) {
        memcpy(self->data, data, size*sizeof(size_t));
    }

    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
callq 0xa1f0
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jbe 0xa515
jmp 0xa42d
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq (%rcx), %rax
jae 0xa459
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x1, -0x20(%rbp)
jae 0xa468
movq $0x1, -0x20(%rbp)
movq $0x8, -0x30(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
je 0xa511
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x20(%rbp), %rsi
imulq -0x30(%rbp), %rsi
callq 0x2200
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xa4cc
movq 0x7b47(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x3c42(%rip), %rsi      # 0xe0fd
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
jbe 0xa505
movq -0x20(%rbp), %rax
subq -0x28(%rbp), %rax
imulq -0x30(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x28(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x38(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0xa513
jmp 0xa515
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
jbe 0xa543
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x10(%rbp), %rdx
shlq $0x3, %rdx
callq 0x21a0
movq -0x18(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: szvector_ones
szvector* szvector_ones(size_t num) {

    szvector* self=szvector_new();
    for (size_t i=0; i<num; i++) {
        vector_push(self,1);
    }
    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
callq 0xa1f0
movq %rax, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq -0x8(%rbp), %rax
jae 0xa814
jmp 0xa6ad
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0xa7d8
movq $0x0, -0x20(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0xa6df
movq $0x1, -0x20(%rbp)
jmp 0xa6ee
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
shlq %rax
movq %rax, -0x20(%rbp)
jmp 0xa6f0
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq (%rcx), %rax
jae 0xa71c
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x1, -0x28(%rbp)
jae 0xa72b
movq $0x1, -0x28(%rbp)
movq $0x8, -0x38(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x30(%rbp), %rax
je 0xa7d4
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x28(%rbp), %rsi
imulq -0x38(%rbp), %rsi
callq 0x2200
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xa78f
movq 0x7884(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x397f(%rip), %rsi      # 0xe0fd
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x28(%rbp), %rax
cmpq -0x30(%rbp), %rax
jbe 0xa7c8
movq -0x28(%rbp), %rax
subq -0x30(%rbp), %rax
imulq -0x38(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x30(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x40(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0xa7d6
jmp 0xa7d8
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
subq $0x1, %rcx
movq $0x1, (%rax,%rcx,8)
jmp 0xa803
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0xa69d
movq -0x10(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: szvector_range
szvector* szvector_range(long min, long max) {

    szvector* self=szvector_new();
    for (long i=min; i<max; i++) {
        vector_push(self,i);
    }
    
    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
callq 0xa1f0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x10(%rbp), %rax
jge 0xa9b8
jmp 0xa851
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0xa97c
movq $0x0, -0x28(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0xa883
movq $0x1, -0x28(%rbp)
jmp 0xa892
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
shlq %rax
movq %rax, -0x28(%rbp)
jmp 0xa894
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq (%rcx), %rax
jae 0xa8c0
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x1, -0x30(%rbp)
jae 0xa8cf
movq $0x1, -0x30(%rbp)
movq $0x8, -0x40(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x38(%rbp), %rax
je 0xa978
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x30(%rbp), %rsi
imulq -0x40(%rbp), %rsi
callq 0x2200
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xa933
movq 0x76e0(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x37db(%rip), %rsi      # 0xe0fd
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x30(%rbp), %rax
cmpq -0x38(%rbp), %rax
jbe 0xa96c
movq -0x30(%rbp), %rax
subq -0x38(%rbp), %rax
imulq -0x40(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x38(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x48(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0xa97a
jmp 0xa97c
movq -0x18(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
subq $0x1, %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0xa9a7
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0xa841
movq -0x18(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: _szvector_compare_el
int __szvector_compare_el(const void *a, const void *b) {
    int64_t temp = 
        (  (int64_t) *( (size_t*)a ) ) 
         -
        (  (int64_t) *( (size_t*)b ) );
    if (temp > 0)
        return 1;
    else if (temp < 0)
        return -1;
    else
        return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
subq (%rcx), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jle 0xa9fe
movl $0x1, -0x4(%rbp)
jmp 0xaa15
cmpq $0x0, -0x20(%rbp)
jge 0xaa0e
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xaa15
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: dvector_new
dvector* dvector_new() {
    dvector* self = calloc(1,sizeof(dvector));
    if (self == NULL) {
        fprintf(stderr,"Could not allocate dvector\n");
        return NULL;
    }

    self->capacity = VECTOR_INITCAP;

    self->data = calloc(self->capacity, sizeof(double));
    if (self->data == NULL) {
        fprintf(stderr,"Could not allocate data for vector\n");
        exit(1);
    }

    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x1, %edi
movl $0x18, %esi
callq 0x2140
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xaae4
movq 0x752f(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x444a(%rip), %rsi      # 0xef1d
movb $0x0, %al
callq 0x2170
movq $0x0, -0x8(%rbp)
jmp 0xab42
movq -0x10(%rbp), %rax
movq $0x1, 0x8(%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x8, %esi
callq 0x2140
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xab3a
movq 0x74d9(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x43d0(%rip), %rsi      # 0xeef9
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: dvector_copy
dvector* dvector_copy(dvector* self) {
    dvector* vcopy=dvector_new();
    vector_resize(vcopy, self->size);

    if (self->size > 0) {
        memcpy(vcopy->data, self->data, self->size*sizeof(double));
    }

    return vcopy;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
callq 0xaaa0
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jbe 0xac67
jmp 0xab7c
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq (%rcx), %rax
jae 0xabab
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x1, -0x18(%rbp)
jae 0xabba
movq $0x1, -0x18(%rbp)
movq $0x8, -0x28(%rbp)
movq -0x18(%rbp), %rax
cmpq -0x20(%rbp), %rax
je 0xac63
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rsi
imulq -0x28(%rbp), %rsi
callq 0x2200
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xac1e
movq 0x73f5(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x34f0(%rip), %rsi      # 0xe0fd
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x18(%rbp), %rax
cmpq -0x20(%rbp), %rax
jbe 0xac57
movq -0x18(%rbp), %rax
subq -0x20(%rbp), %rax
imulq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x30(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0xac65
jmp 0xac67
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
jbe 0xac9f
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
shlq $0x3, %rdx
callq 0x21a0
movq -0x10(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: dvector_fromarray
dvector* dvector_fromarray(double* data, size_t size) {
    dvector* self=dvector_new();
    vector_resize(self, size);

    if (self->size > 0) {
        memcpy(self->data, data, size*sizeof(double));
    }

    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
callq 0xaaa0
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jbe 0xadc5
jmp 0xacdd
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq (%rcx), %rax
jae 0xad09
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x1, -0x20(%rbp)
jae 0xad18
movq $0x1, -0x20(%rbp)
movq $0x8, -0x30(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
je 0xadc1
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x20(%rbp), %rsi
imulq -0x30(%rbp), %rsi
callq 0x2200
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xad7c
movq 0x7297(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x3392(%rip), %rsi      # 0xe0fd
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
jbe 0xadb5
movq -0x20(%rbp), %rax
subq -0x28(%rbp), %rax
imulq -0x30(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x28(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x38(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0xadc3
jmp 0xadc5
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
jbe 0xadf3
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x10(%rbp), %rdx
shlq $0x3, %rdx
callq 0x21a0
movq -0x18(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: dvector_ones
dvector* dvector_ones(size_t num) {

    dvector* self=dvector_new();
    for (size_t i=0; i<num; i++) {
        vector_push(self,1);
    }
    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
callq 0xaaa0
movq %rax, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq -0x8(%rbp), %rax
jae 0xb0c9
jmp 0xaf5d
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0xb088
movq $0x0, -0x20(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0xaf8f
movq $0x1, -0x20(%rbp)
jmp 0xaf9e
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
shlq %rax
movq %rax, -0x20(%rbp)
jmp 0xafa0
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq (%rcx), %rax
jae 0xafcc
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x1, -0x28(%rbp)
jae 0xafdb
movq $0x1, -0x28(%rbp)
movq $0x8, -0x38(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x30(%rbp), %rax
je 0xb084
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x28(%rbp), %rsi
imulq -0x38(%rbp), %rsi
callq 0x2200
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xb03f
movq 0x6fd4(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x30cf(%rip), %rsi      # 0xe0fd
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x28(%rbp), %rax
cmpq -0x30(%rbp), %rax
jbe 0xb078
movq -0x28(%rbp), %rax
subq -0x30(%rbp), %rax
imulq -0x38(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x30(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x40(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0xb086
jmp 0xb088
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
subq $0x1, %rcx
movsd 0x2f77(%rip), %xmm0     # 0xe028
movsd %xmm0, (%rax,%rcx,8)
jmp 0xb0b8
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0xaf4d
movq -0x10(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: dvector_range
dvector* dvector_range(long min, long max) {

    dvector* self=dvector_new();
    for (long i=min; i<max; i++) {
        vector_push(self,i);
    }
    
    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
callq 0xaaa0
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x10(%rbp), %rax
jge 0xb27b
jmp 0xb111
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0xb23c
movq $0x0, -0x28(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0xb143
movq $0x1, -0x28(%rbp)
jmp 0xb152
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
shlq %rax
movq %rax, -0x28(%rbp)
jmp 0xb154
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq (%rcx), %rax
jae 0xb180
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x1, -0x30(%rbp)
jae 0xb18f
movq $0x1, -0x30(%rbp)
movq $0x8, -0x40(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x38(%rbp), %rax
je 0xb238
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x30(%rbp), %rsi
imulq -0x40(%rbp), %rsi
callq 0x2200
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xb1f3
movq 0x6e20(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x2f1b(%rip), %rsi      # 0xe0fd
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x30(%rbp), %rax
cmpq -0x38(%rbp), %rax
jbe 0xb22c
movq -0x30(%rbp), %rax
subq -0x38(%rbp), %rax
imulq -0x40(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x38(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x48(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0xb23a
jmp 0xb23c
movq -0x18(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
cvtsi2sdq -0x20(%rbp), %xmm0
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
subq $0x1, %rcx
movsd %xmm0, (%rax,%rcx,8)
jmp 0xb26a
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0xb101
movq -0x18(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: _dvector_compare_el
int __dvector_compare_el(const void *a, const void *b) {
    double temp = 
        (  (double) *( (double*)a ) ) 
         -
        (  (double) *( (double*)b ) );
    if (temp > 0)
        return 1;
    else if (temp < 0)
        return -1;
    else
        return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movsd (%rax), %xmm0
movq -0x18(%rbp), %rax
subsd (%rax), %xmm0
movsd %xmm0, -0x20(%rbp)
movsd -0x20(%rbp), %xmm0
xorps %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jbe 0xb2c8
movl $0x1, -0x4(%rbp)
jmp 0xb2e2
xorps %xmm0, %xmm0
ucomisd -0x20(%rbp), %xmm0
jbe 0xb2db
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xb2e2
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: lvector_new
lvector* lvector_new() {
    lvector* self = calloc(1,sizeof(lvector));
    if (self == NULL) {
        fprintf(stderr,"Could not allocate lvector\n");
        return NULL;
    }

    self->capacity = VECTOR_INITCAP;

    self->data = calloc(self->capacity, sizeof(int64_t));
    if (self->data == NULL) {
        fprintf(stderr,"Could not allocate data for vector\n");
        exit(1);
    }

    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movl $0x1, %edi
movl $0x18, %esi
callq 0x2140
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xb3b4
movq 0x6c5f(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x3b96(%rip), %rsi      # 0xef39
movb $0x0, %al
callq 0x2170
movq $0x0, -0x8(%rbp)
jmp 0xb412
movq -0x10(%rbp), %rax
movq $0x1, 0x8(%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rdi
movl $0x8, %esi
callq 0x2140
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xb40a
movq 0x6c09(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x3b00(%rip), %rsi      # 0xeef9
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x10(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x10, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: lvector_copy
lvector* lvector_copy(lvector* self) {
    lvector* vcopy=lvector_new();
    vector_resize(vcopy, self->size);

    if (self->size > 0) {
        memcpy(vcopy->data, self->data, self->size*sizeof(int64_t));
    }

    return vcopy;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
callq 0xb370
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jbe 0xb537
jmp 0xb44c
movq -0x8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq (%rcx), %rax
jae 0xb47b
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x1, -0x18(%rbp)
jae 0xb48a
movq $0x1, -0x18(%rbp)
movq $0x8, -0x28(%rbp)
movq -0x18(%rbp), %rax
cmpq -0x20(%rbp), %rax
je 0xb533
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x18(%rbp), %rsi
imulq -0x28(%rbp), %rsi
callq 0x2200
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xb4ee
movq 0x6b25(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x2c20(%rip), %rsi      # 0xe0fd
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x18(%rbp), %rax
cmpq -0x20(%rbp), %rax
jbe 0xb527
movq -0x18(%rbp), %rax
subq -0x20(%rbp), %rax
imulq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x20(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x30(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x18(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0xb535
jmp 0xb537
movq -0x8(%rbp), %rax
movq (%rax), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
movq -0x8(%rbp), %rax
cmpq $0x0, (%rax)
jbe 0xb56f
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rsi
movq -0x8(%rbp), %rax
movq (%rax), %rdx
shlq $0x3, %rdx
callq 0x21a0
movq -0x10(%rbp), %rax
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: lvector_fromarray
lvector* lvector_fromarray(int64_t* data, size_t size) {
    lvector* self=lvector_new();
    vector_resize(self, size);

    if (self->size > 0) {
        memcpy(self->data, data, size*sizeof(int64_t));
    }

    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
callq 0xb370
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jbe 0xb695
jmp 0xb5ad
movq -0x10(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x20(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq (%rcx), %rax
jae 0xb5d9
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x1, -0x20(%rbp)
jae 0xb5e8
movq $0x1, -0x20(%rbp)
movq $0x8, -0x30(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
je 0xb691
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x20(%rbp), %rsi
imulq -0x30(%rbp), %rsi
callq 0x2200
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xb64c
movq 0x69c7(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x2ac2(%rip), %rsi      # 0xe0fd
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x20(%rbp), %rax
cmpq -0x28(%rbp), %rax
jbe 0xb685
movq -0x20(%rbp), %rax
subq -0x28(%rbp), %rax
imulq -0x30(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x28(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x38(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x20(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0xb693
jmp 0xb695
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, (%rax)
jbe 0xb6c3
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x8(%rbp), %rsi
movq -0x10(%rbp), %rdx
shlq $0x3, %rdx
callq 0x21a0
movq -0x18(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: lvector_ones
lvector* lvector_ones(size_t num) {

    lvector* self=lvector_new();
    for (size_t i=0; i<num; i++) {
        vector_push(self,1);
    }
    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
callq 0xb370
movq %rax, -0x10(%rbp)
movq $0x0, -0x18(%rbp)
movq -0x18(%rbp), %rax
cmpq -0x8(%rbp), %rax
jae 0xb994
jmp 0xb82d
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x10(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0xb958
movq $0x0, -0x20(%rbp)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0xb85f
movq $0x1, -0x20(%rbp)
jmp 0xb86e
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
shlq %rax
movq %rax, -0x20(%rbp)
jmp 0xb870
movq -0x20(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
movq -0x10(%rbp), %rcx
cmpq (%rcx), %rax
jae 0xb89c
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x1, -0x28(%rbp)
jae 0xb8ab
movq $0x1, -0x28(%rbp)
movq $0x8, -0x38(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x30(%rbp), %rax
je 0xb954
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x28(%rbp), %rsi
imulq -0x38(%rbp), %rsi
callq 0x2200
movq %rax, %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xb90f
movq 0x6704(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x27ff(%rip), %rsi      # 0xe0fd
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x28(%rbp), %rax
cmpq -0x30(%rbp), %rax
jbe 0xb948
movq -0x28(%rbp), %rax
subq -0x30(%rbp), %rax
imulq -0x38(%rbp), %rax
movq %rax, -0x40(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x30(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x40(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0xb956
jmp 0xb958
movq -0x10(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x10(%rbp), %rcx
movq (%rcx), %rcx
subq $0x1, %rcx
movq $0x1, (%rax,%rcx,8)
jmp 0xb983
movq -0x18(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x18(%rbp)
jmp 0xb81d
movq -0x10(%rbp), %rax
addq $0x40, %rsp
popq %rbp
retq
nop
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: lvector_range
lvector* lvector_range(long min, long max) {

    lvector* self=lvector_new();
    for (long i=min; i<max; i++) {
        vector_push(self,i);
    }
    
    return self;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x50, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
callq 0xb370
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
cmpq -0x10(%rbp), %rax
jge 0xbb38
jmp 0xb9d1
movq -0x18(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
cmpq 0x8(%rcx), %rax
jne 0xbafc
movq $0x0, -0x28(%rbp)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x8(%rax)
jne 0xba03
movq $0x1, -0x28(%rbp)
jmp 0xba12
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
shlq %rax
movq %rax, -0x28(%rbp)
jmp 0xba14
movq -0x28(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rax
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rax
movq -0x18(%rbp), %rcx
cmpq (%rcx), %rax
jae 0xba40
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
cmpq $0x1, -0x30(%rbp)
jae 0xba4f
movq $0x1, -0x30(%rbp)
movq $0x8, -0x40(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x38(%rbp), %rax
je 0xbaf8
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x30(%rbp), %rsi
imulq -0x40(%rbp), %rsi
callq 0x2200
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
cmpq $0x0, 0x10(%rax)
jne 0xbab3
movq 0x6560(%rip), %rax      # 0x11ff8
movq (%rax), %rdi
leaq 0x265b(%rip), %rsi      # 0xe0fd
movb $0x0, %al
callq 0x2170
movl $0x1, %edi
callq 0x2250
movq -0x30(%rbp), %rax
cmpq -0x38(%rbp), %rax
jbe 0xbaec
movq -0x30(%rbp), %rax
subq -0x38(%rbp), %rax
imulq -0x40(%rbp), %rax
movq %rax, -0x48(%rbp)
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rdi
movq -0x38(%rbp), %rax
shlq $0x3, %rax
addq %rax, %rdi
movq -0x48(%rbp), %rdx
xorl %esi, %esi
callq 0x2100
movq -0x30(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
jmp 0xbafa
jmp 0xbafc
movq -0x18(%rbp), %rax
movq (%rax), %rcx
addq $0x1, %rcx
movq %rcx, (%rax)
movq -0x20(%rbp), %rdx
movq -0x18(%rbp), %rax
movq 0x10(%rax), %rax
movq -0x18(%rbp), %rcx
movq (%rcx), %rcx
subq $0x1, %rcx
movq %rdx, (%rax,%rcx,8)
jmp 0xbb27
movq -0x20(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x20(%rbp)
jmp 0xb9c1
movq -0x18(%rbp), %rax
addq $0x50, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/vector.c
// Function: _lvector_compare_el
int __lvector_compare_el(const void *a, const void *b) {
    int64_t temp = 
        (  (int64_t) *( (int64_t*)a ) ) 
         -
        (  (int64_t) *( (int64_t*)b ) );
    if (temp > 0)
        return 1;
    else if (temp < 0)
        return -1;
    else
        return 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
movq -0x18(%rbp), %rcx
subq (%rcx), %rax
movq %rax, -0x20(%rbp)
cmpq $0x0, -0x20(%rbp)
jle 0xbb7e
movl $0x1, -0x4(%rbp)
jmp 0xbb95
cmpq $0x0, -0x20(%rbp)
jge 0xbb8e
movl $0xffffffff, -0x4(%rbp) # imm = 0xFFFFFFFF
jmp 0xbb95
movl $0x0, -0x4(%rbp)
movl -0x4(%rbp), %eax
popq %rbp
retq
nopw (%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/util.c
// Function: comma_print
void comma_print(FILE* stream, long long n)
{
    int i = -1, len, negative = 0;
    char *c=NULL, *p=NULL;

    if (n == 0) {
        len = 2;
    } else if (n < 0) {
        negative = 1;
        n = -n;
        len = 4 * floor(log10(n)) / 3 + 3;
    } else {
        len = 4 * floor(log10(n)) / 3 + 2;
    }

    c = alloca(len);
    p = c + len - 1;
    *p-- = 0;

    do {
        if (++i == 3) {
            *p-- = ',';
            i = 0;
        }
        *p-- = '0' + n % 10;
        n /= 10;
    } while (n);

    if (negative) *p = '-';

    fprintf(stream, "%s", c);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0xffffffff, -0x14(%rbp) # imm = 0xFFFFFFFF
movl $0x0, -0x1c(%rbp)
movq $0x0, -0x28(%rbp)
movq $0x0, -0x30(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xbc61
movl $0x2, -0x18(%rbp)
jmp 0xbcf9
cmpq $0x0, -0x10(%rbp)
jge 0xbcb9
movl $0x1, -0x1c(%rbp)
xorl %eax, %eax
subq -0x10(%rbp), %rax
movq %rax, -0x10(%rbp)
cvtsi2sdq -0x10(%rbp), %xmm0
callq 0x2160
callq 0x2230
movaps %xmm0, %xmm1
movsd 0x32c4(%rip), %xmm0     # 0xef58
mulsd %xmm1, %xmm0
movsd 0x2380(%rip), %xmm1     # 0xe020
divsd %xmm1, %xmm0
movsd 0x2374(%rip), %xmm1     # 0xe020
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x18(%rbp)
jmp 0xbcf7
cvtsi2sdq -0x10(%rbp), %xmm0
callq 0x2160
callq 0x2230
movaps %xmm0, %xmm1
movsd 0x3284(%rip), %xmm0     # 0xef58
mulsd %xmm1, %xmm0
movsd 0x2340(%rip), %xmm1     # 0xe020
divsd %xmm1, %xmm0
movsd 0x232c(%rip), %xmm1     # 0xe018
addsd %xmm1, %xmm0
cvttsd2si %xmm0, %eax
movl %eax, -0x18(%rbp)
jmp 0xbcf9
movslq -0x18(%rbp), %rcx
addq $0xf, %rcx
andq $-0x10, %rcx
movq %rsp, %rax
subq %rcx, %rax
movq %rax, %rsp
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movslq -0x18(%rbp), %rcx
addq %rcx, %rax
addq $-0x1, %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x30(%rbp)
movb $0x0, (%rax)
movl -0x14(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
cmpl $0x3, %eax
jne 0xbd5e
movq -0x30(%rbp), %rax
movq %rax, %rcx
addq $-0x1, %rcx
movq %rcx, -0x30(%rbp)
movb $0x2c, (%rax)
movl $0x0, -0x14(%rbp)
movq -0x10(%rbp), %rax
movl $0xa, %ecx
cqto
idivq %rcx
addq $0x30, %rdx
movb %dl, %cl
movq -0x30(%rbp), %rax
movq %rax, %rdx
addq $-0x1, %rdx
movq %rdx, -0x30(%rbp)
movb %cl, (%rax)
movq -0x10(%rbp), %rax
movl $0xa, %ecx
cqto
idivq %rcx
movq %rax, -0x10(%rbp)
cmpq $0x0, -0x10(%rbp)
jne 0xbd37
cmpl $0x0, -0x1c(%rbp)
je 0xbda9
movq -0x30(%rbp), %rax
movb $0x2d, (%rax)
movq -0x8(%rbp), %rdi
movq -0x28(%rbp), %rdx
leaq 0x2ebd(%rip), %rsi      # 0xec75
movb $0x0, %al
callq 0x2170
movq %rbp, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
nop
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/sdss-survey.c
// Function: lon_bound
double lon_bound(double lon, double minval, double maxval) {
    while (lon < minval) {
        lon += 360.;
    }

    while (lon > maxval) {
        lon -= 360.;
    }
    return lon;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movsd %xmm0, -0x8(%rbp)
movsd %xmm1, -0x10(%rbp)
movsd %xmm2, -0x18(%rbp)
movsd -0x8(%rbp), %xmm1
movsd -0x10(%rbp), %xmm0
ucomisd %xmm1, %xmm0
jbe 0xd0c7
movsd 0xfd5(%rip), %xmm0      # 0xe090
addsd -0x8(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0xd0a3
jmp 0xd0c9
movsd -0x8(%rbp), %xmm0
ucomisd -0x18(%rbp), %xmm0
jbe 0xd0ed
movsd -0x8(%rbp), %xmm0
movsd 0xfae(%rip), %xmm1      # 0xe090
subsd %xmm1, %xmm0
movsd %xmm0, -0x8(%rbp)
jmp 0xd0c9
movsd -0x8(%rbp), %xmm0
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/sdss-survey.c
// Function: eq2sdss
void eq2sdss(double ra, double dec, double* lam, double* eta) {

    // put everything in radians first
    ra *= D2R;
    dec *= D2R;

    // this is the SDSS node
    ra -= 1.6580627893946132;

    double cdec = cos(dec);
    
    double x = cos(ra)*cdec;
    double y = sin(ra)*cdec;
    double z = sin(dec);

    *lam = -asin(x);
    *eta = atan2(z, y);

    // this is the eta pole
    *eta -= 0.56723200689815712;

    *eta *= R2D;
    *lam *= R2D;

    *eta = lon_bound(*eta, -180., 180.);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movsd %xmm0, -0x8(%rbp)
movsd %xmm1, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movsd 0xf86(%rip), %xmm0      # 0xe0a8
mulsd -0x8(%rbp), %xmm0
movsd %xmm0, -0x8(%rbp)
movsd 0xf74(%rip), %xmm0      # 0xe0a8
mulsd -0x10(%rbp), %xmm0
movsd %xmm0, -0x10(%rbp)
movsd -0x8(%rbp), %xmm0
movsd 0x1f55(%rip), %xmm1     # 0xf0a0
subsd %xmm1, %xmm0
movsd %xmm0, -0x8(%rbp)
movsd -0x10(%rbp), %xmm0
callq 0x2120
movsd %xmm0, -0x28(%rbp)
movsd -0x8(%rbp), %xmm0
callq 0x2120
mulsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x30(%rbp)
movsd -0x8(%rbp), %xmm0
callq 0x2220
mulsd -0x28(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movsd -0x10(%rbp), %xmm0
callq 0x2220
movsd %xmm0, -0x40(%rbp)
movsd -0x30(%rbp), %xmm0
callq 0x2240
movq %xmm0, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x40(%rbp), %xmm0
movsd -0x38(%rbp), %xmm1
callq 0x21e0
movq -0x20(%rbp), %rax
movsd %xmm0, (%rax)
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd 0x1eae(%rip), %xmm1     # 0xf098
subsd %xmm1, %xmm0
movsd %xmm0, (%rax)
movq -0x20(%rbp), %rax
movsd 0x1e92(%rip), %xmm0     # 0xf090
mulsd (%rax), %xmm0
movsd %xmm0, (%rax)
movq -0x18(%rbp), %rax
movsd 0x1e7e(%rip), %xmm0     # 0xf090
mulsd (%rax), %xmm0
movsd %xmm0, (%rax)
movq -0x20(%rbp), %rax
movsd (%rax), %xmm0
movsd 0x1e56(%rip), %xmm1     # 0xf080
movsd 0x1e56(%rip), %xmm2     # 0xf088
callq 0xd090
movq -0x20(%rbp), %rax
movsd %xmm0, (%rax)
addq $0x40, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)
// File: /workspace/github_c_makefile_star2_O0/esheldon[P]xshear/src/sdss-survey.c
// Function: eq2sdss_sincos
void eq2sdss_sincos(double ra, double dec, 
                    double* sinlam, double* coslam, 
                    double* sineta, double* coseta) {
    double lam,eta;
    eq2sdss(ra, dec, &lam, &eta);

    lam *= D2R;
    eta *= D2R;
    *sinlam = sin(lam);
    *coslam = cos(lam);
    *sineta = sin(eta);
    *coseta = cos(eta);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movsd %xmm0, -0x8(%rbp)
movsd %xmm1, -0x10(%rbp)
movq %rdi, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movsd -0x8(%rbp), %xmm0
movsd -0x10(%rbp), %xmm1
leaq -0x38(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0xd100
movsd 0xe17(%rip), %xmm0      # 0xe0a8
mulsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x38(%rbp)
movsd 0xe05(%rip), %xmm0      # 0xe0a8
mulsd -0x40(%rbp), %xmm0
movsd %xmm0, -0x40(%rbp)
movsd -0x38(%rbp), %xmm0
callq 0x2220
movq -0x18(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x38(%rbp), %xmm0
callq 0x2120
movq -0x20(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x40(%rbp), %xmm0
callq 0x2220
movq -0x28(%rbp), %rax
movsd %xmm0, (%rax)
movsd -0x40(%rbp), %xmm0
callq 0x2120
movq -0x30(%rbp), %rax
movsd %xmm0, (%rax)
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax,%rax)