// File: /workspace/github_c_makefile_star2_O3/ieyasu[P]funit/generate_code.c
// Function: generate_code
static int generate_code(struct Code *code, double tolerance)
{
    switch (code->type) {
    case FORTRAN_CODE:
        PRINT_CODE(code);
        break;
    case MACRO_CODE:
        if (generate_assert(code, tolerance))
            return -1;
        break;
    default: // arg code
        fprintf(stderr, "near %s:%li: bad code type %i in generate_code\n",
                test_set_file_name, code->lineno, (int)code->type);
        abort();
        break;
    }
    if (code->next)
        return generate_code(code->next, tolerance);
    return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x18, %rsp
movq %rdi, %rbx
movsd %xmm0, 0x10(%rsp)
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xc(%rsp)
leaq 0x3a61(%rip), %r15      # 0x7810
leaq 0x4468(%rip), %r14      # 0x821e
movl 0x8(%rbx), %esi
cmpl $0x1, %esi
je 0x3de4
testl %esi, %esi
jne 0x47a9
movq 0x18(%rbx), %rdi
movq 0x20(%rbx), %rsi
movq 0xa41b(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
jmp 0x4764
movl 0x18(%rbx), %edi
cmpq $0x7, %rdi
ja 0x47b1
movslq (%r15,%rdi,4), %rax
addq %r15, %rax
jmpq *%rax
movq 0x20(%rbx), %r13
leaq 0x43be(%rip), %rdi      # 0x81c3
movq %rbx, %rsi
movq %r13, %rdx
movl $0x1, %ecx
movl $0x1, %r8d
callq 0x4c18
cmpl $0x1, %eax
jne 0x4795
movq 0xa3c5(%rip), %rsi      # 0xe1f0
leaq 0x439d(%rip), %rdi      # 0x81cf
callq 0x2130
movq 0xa3b2(%rip), %rsi      # 0xe1f0
leaq 0x439b(%rip), %rdi      # 0x81e0
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa397(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa386(%rip), %rsi      # 0xe1f0
leaq 0x4789(%rip), %rdi      # 0x85fa
callq 0x2130
movq 0xa373(%rip), %rsi      # 0xe1f0
leaq 0x436c(%rip), %rdi      # 0x81f0
callq 0x2130
movq %r13, %rdi
callq 0x49fd
movq 0xa358(%rip), %rsi      # 0xe1f0
leaq 0x4372(%rip), %rdi      # 0x8211
jmp 0x4523
movq 0x20(%rbx), %rbp
leaq 0x45e1(%rip), %rdi      # 0x8490
movq %rbx, %rsi
movq %rbp, %rdx
movl $0x2, %ecx
movl $0x3, %r8d
callq 0x4c18
cmpl $0x2, %eax
jl 0x4795
movl %eax, %r12d
movq (%rbp), %r13
cmpl $0x3, %eax
je 0x43eb
cmpl $0x2, %r12d
jne 0x47b6
movsd 0x10(%rsp), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
movapd %xmm0, %xmm1
jbe 0x440a
jmp 0x477d
movq 0x20(%rbx), %rbp
leaq 0x44e9(%rip), %rdi      # 0x83f9
movq %rbx, %rsi
movq %rbp, %rdx
movl $0x2, %ecx
movl $0x2, %r8d
callq 0x4c18
cmpl $0x2, %eax
jne 0x4795
movq (%rbp), %r13
movq 0xa2b6(%rip), %rsi      # 0xe1f0
leaq 0x44c5(%rip), %rdi      # 0x8406
callq 0x2130
movq 0xa2a3(%rip), %rsi      # 0xe1f0
leaq 0x44c4(%rip), %rdi      # 0x8418
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa288(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa277(%rip), %rsi      # 0xe1f0
leaq 0x44a2(%rip), %rdi      # 0x8422
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa25c(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa24b(%rip), %rsi      # 0xe1f0
leaq 0x464e(%rip), %rdi      # 0x85fa
callq 0x2130
movq 0xa238(%rip), %rsi      # 0xe1f0
leaq 0x4231(%rip), %rdi      # 0x81f0
callq 0x2130
movq %rbp, %rdi
callq 0x49fd
movq 0xa21d(%rip), %rsi      # 0xe1f0
leaq 0x444f(%rip), %rdi      # 0x8429
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa202(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa1f1(%rip), %rsi      # 0xe1f0
leaq 0x442a(%rip), %rdi      # 0x8430
jmp 0x410c
movq 0x20(%rbx), %rbp
leaq 0x4437(%rip), %rdi      # 0x844d
movq %rbx, %rsi
movq %rbp, %rdx
movl $0x2, %ecx
movl $0x2, %r8d
callq 0x4c18
cmpl $0x2, %eax
jne 0x4795
movq (%rbp), %r13
movq 0xa1b0(%rip), %rsi      # 0xe1f0
leaq 0x4417(%rip), %rdi      # 0x845e
callq 0x2130
movq 0xa19d(%rip), %rsi      # 0xe1f0
leaq 0x43be(%rip), %rdi      # 0x8418
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa182(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa171(%rip), %rsi      # 0xe1f0
leaq 0x43ee(%rip), %rdi      # 0x8474
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa156(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa145(%rip), %rsi      # 0xe1f0
leaq 0x4548(%rip), %rdi      # 0x85fa
callq 0x2130
movq 0xa132(%rip), %rsi      # 0xe1f0
leaq 0x412b(%rip), %rdi      # 0x81f0
callq 0x2130
movq %rbp, %rdi
callq 0x49fd
movq 0xa117(%rip), %rsi      # 0xe1f0
leaq 0x4349(%rip), %rdi      # 0x8429
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa0fc(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa0eb(%rip), %rsi      # 0xe1f0
leaq 0x436f(%rip), %rdi      # 0x847b
callq 0x2130
jmp 0x450d
movq 0x20(%rbx), %r12
leaq 0x4707(%rip), %rdi      # 0x8828
movq %rbx, %rsi
movq %r12, %rdx
movl $0x1, %ecx
movl $0x1, %r8d
callq 0x4c18
cmpl $0x1, %eax
jne 0x4795
movq 0xa0a9(%rip), %rsi      # 0xe1f0
leaq 0x46e0(%rip), %rdi      # 0x882e
callq 0x2130
movq 0xa096(%rip), %rsi      # 0xe1f0
leaq 0x46d8(%rip), %rdi      # 0x8839
callq 0x2130
movq 0x18(%r12), %rdi
movq 0x20(%r12), %rsi
movq 0xa079(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa068(%rip), %rsi      # 0xe1f0
leaq 0x4991(%rip), %rdi      # 0x8b20
callq 0x2130
movq 0xa055(%rip), %rsi      # 0xe1f0
leaq 0x44f6(%rip), %rdi      # 0x8698
callq 0x2130
movq 0xa042(%rip), %rsi      # 0xe1f0
leaq 0x4504(%rip), %rdi      # 0x86b9
jmp 0x475f
movq 0x20(%rbx), %r13
leaq 0x4209(%rip), %rdi      # 0x83ce
movq %rbx, %rsi
movq %r13, %rdx
movl $0x1, %ecx
movl $0x1, %r8d
callq 0x4c18
cmpl $0x1, %eax
jne 0x4795
movq 0xa005(%rip), %rsi      # 0xe1f0
leaq 0x41e9(%rip), %rdi      # 0x83db
callq 0x2130
movq 0x9ff2(%rip), %rsi      # 0xe1f0
leaq 0x43d4(%rip), %rdi      # 0x85d9
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0x9fd7(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9fc6(%rip), %rsi      # 0xe1f0
leaq 0x43ca(%rip), %rdi      # 0x85fb
callq 0x2130
movq 0x9fb3(%rip), %rsi      # 0xe1f0
leaq 0x3fac(%rip), %rdi      # 0x81f0
callq 0x2130
movq %r13, %rdi
callq 0x49fd
movq 0x9f98(%rip), %rsi      # 0xe1f0
leaq 0x418e(%rip), %rdi      # 0x83ed
jmp 0x4523
movq 0x20(%rbx), %rbp
leaq 0x4323(%rip), %rdi      # 0x8592
movq %rbx, %rsi
movq %rbp, %rdx
movl $0x2, %ecx
movl $0x2, %r8d
callq 0x4c18
cmpl $0x2, %eax
jne 0x4795
movq (%rbp), %r13
movq 0x9f57(%rip), %rsi      # 0xe1f0
leaq 0x4305(%rip), %rdi      # 0x85a5
callq 0x2130
movq %rbp, %rdi
movq %r13, %rsi
callq 0x4d36
movq 0x9f39(%rip), %rsi      # 0xe1f0
leaq 0x42ff(%rip), %rdi      # 0x85bd
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9f1e(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9f0d(%rip), %rsi      # 0xe1f0
leaq 0x47a8(%rip), %rdi      # 0x8a92
callq 0x2130
movq 0x9efa(%rip), %rsi      # 0xe1f0
leaq 0x42da(%rip), %rdi      # 0x85d7
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9edf(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9ece(%rip), %rsi      # 0xe1f0
leaq 0x42b9(%rip), %rdi      # 0x85e2
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0x9eb3(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9ea2(%rip), %rsi      # 0xe1f0
leaq 0x429c(%rip), %rdi      # 0x85f1
callq 0x2130
movq 0x9e8f(%rip), %rsi      # 0xe1f0
leaq 0x429b(%rip), %rdi      # 0x8603
callq 0x2130
movq %rbp, %rdi
callq 0x49fd
movq 0x9e74(%rip), %rsi      # 0xe1f0
leaq 0x42a2(%rip), %rdi      # 0x8625
callq 0x2130
jmp 0x46a5
movq 0x20(%rbx), %rbp
leaq 0x41fa(%rip), %rdi      # 0x8592
movq %rbx, %rsi
movq %rbp, %rdx
movl $0x2, %ecx
movl $0x3, %r8d
callq 0x4c18
cmpl $0x2, %eax
jl 0x4795
movl %eax, %r12d
movq (%rbp), %r13
cmpl $0x3, %eax
je 0x455d
cmpl $0x2, %r12d
jne 0x47b6
xorps %xmm0, %xmm0
ucomisd 0x10(%rsp), %xmm0
movss 0xc(%rsp), %xmm1
jbe 0x457c
jmp 0x4786
movq (%r13), %rax
movq 0x18(%rax), %rdi
xorl %esi, %esi
callq 0x20a0
movaps %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
ja 0x4774
movsd %xmm1, (%rsp)
movq 0x9dda(%rip), %rdi      # 0xe1f0
cmpl $0x3, %r12d
leaq 0x4700(%rip), %rdx      # 0x8b21
leaq 0x4135(%rip), %rax      # 0x855d
cmoveq %rax, %rdx
leaq 0x4111(%rip), %rsi      # 0x8544
xorl %eax, %eax
callq 0x2190
movq 0x9daf(%rip), %rsi      # 0xe1f0
leaq 0x4119(%rip), %rdi      # 0x8561
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9d94(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9d83(%rip), %rsi      # 0xe1f0
leaq 0x40fb(%rip), %rdi      # 0x856f
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0x9d68(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9d57(%rip), %rdi      # 0xe1f0
leaq 0x4347(%rip), %rsi      # 0x87e7
movsd (%rsp), %xmm0
movb $0x1, %al
callq 0x2190
movq 0x9d3d(%rip), %rsi      # 0xe1f0
leaq 0x3d36(%rip), %rdi      # 0x81f0
callq 0x2130
movq %rbp, %rdi
callq 0x49fd
movq 0x9d22(%rip), %rsi      # 0xe1f0
leaq 0x3f54(%rip), %rdi      # 0x8429
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9d07(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9cf6(%rip), %rdi      # 0xe1f0
leaq 0x4074(%rip), %rsi      # 0x8575
movsd (%rsp), %xmm0
movb $0x1, %al
callq 0x2190
movq %r13, %rdi
callq 0x49fd
movq 0x9cd4(%rip), %rsi      # 0xe1f0
leaq 0x3f26(%rip), %rdi      # 0x8449
callq 0x2130
movq 0x9cc1(%rip), %rsi      # 0xe1f0
leaq 0x4160(%rip), %rdi      # 0x8696
callq 0x2130
movq 0x9cae(%rip), %rsi      # 0xe1f0
leaq 0x416e(%rip), %rdi      # 0x86b7
callq 0x2130
movq 0x9c9b(%rip), %rsi      # 0xe1f0
movq %r14, %rdi
jmp 0x475f
movq (%r13), %rax
movq 0x18(%rax), %rdi
xorl %esi, %esi
callq 0x20a0
cvtsd2ss %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomiss %xmm1, %xmm0
ja 0x4774
movss %xmm1, (%rsp)
movq 0x9c68(%rip), %rdi      # 0xe1f0
cmpl $0x3, %r12d
leaq 0x458e(%rip), %rdx      # 0x8b21
leaq 0x3fc3(%rip), %rax      # 0x855d
cmoveq %rax, %rdx
leaq 0x41fd(%rip), %rsi      # 0x87a2
xorl %eax, %eax
callq 0x2190
movq %rbp, %rdi
movq %r13, %rsi
callq 0x4d36
movq 0x9c32(%rip), %rsi      # 0xe1f0
leaq 0x3ff8(%rip), %rdi      # 0x85bd
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9c17(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9c06(%rip), %rsi      # 0xe1f0
leaq 0x44a1(%rip), %rdi      # 0x8a92
callq 0x2130
movq 0x9bf3(%rip), %rsi      # 0xe1f0
leaq 0x41bd(%rip), %rdi      # 0x87c1
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9bd8(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9bc7(%rip), %rsi      # 0xe1f0
leaq 0x41a0(%rip), %rdi      # 0x87d0
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0x9bac(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9b9b(%rip), %rdi      # 0xe1f0
xorps %xmm0, %xmm0
cvtss2sd (%rsp), %xmm0
movsd %xmm0, (%rsp)
leaq 0x4175(%rip), %rsi      # 0x87de
movb $0x1, %al
callq 0x2190
movq 0x9b79(%rip), %rsi      # 0xe1f0
leaq 0x3f85(%rip), %rdi      # 0x8603
callq 0x2130
movq %rbp, %rdi
callq 0x49fd
movq 0x9b5e(%rip), %rdi      # 0xe1f0
leaq 0x415d(%rip), %rsi      # 0x87f6
movsd (%rsp), %xmm0
movb $0x1, %al
callq 0x2190
movq %r13, %rdi
callq 0x49fd
movq 0x9b3c(%rip), %rsi      # 0xe1f0
leaq 0x3f98(%rip), %rdi      # 0x8653
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9b21(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9b10(%rip), %rsi      # 0xe1f0
leaq 0x3f8e(%rip), %rdi      # 0x8675
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0x9af5(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9ae4(%rip), %rsi      # 0xe1f0
leaq 0x3f75(%rip), %rdi      # 0x8688
callq 0x2130
movq 0x9ad1(%rip), %rsi      # 0xe1f0
leaq 0x3f6e(%rip), %rdi      # 0x8694
callq 0x2130
movq 0x9abe(%rip), %rsi      # 0xe1f0
leaq 0x3f7c(%rip), %rdi      # 0x86b5
callq 0x2130
movq 0x9aab(%rip), %rsi      # 0xe1f0
leaq 0x3f79(%rip), %rdi      # 0x86c5
callq 0x2130
movq 0x9a98(%rip), %rsi      # 0xe1f0
leaq 0x3f74(%rip), %rdi      # 0x86d3
callq 0x2130
movq (%rbx), %rbx
testq %rbx, %rbx
jne 0x3db6
xorl %eax, %eax
jmp 0x479a
leaq 0x3d73(%rip), %rsi      # 0x84ee
jmp 0x478d
leaq 0x3d1e(%rip), %rsi      # 0x84a2
jmp 0x478d
leaq 0x3fb0(%rip), %rsi      # 0x873d
movq %rbx, %rdi
callq 0x245e
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
callq 0x249d
callq 0x247d
callq 0x2050