// File: /workspace/github_c_makefile_star2_O2/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
movsd %xmm0, 0x10(%rsp)
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xc(%rsp)
movq %rdi, %r14
leaq 0x3e5c(%rip), %r15      # 0x7810
pushq $0x1
popq %r12
movl 0x8(%r14), %r8d
cmpl $0x1, %r8d
je 0x39e7
testl %r8d, %r8d
jne 0x4358
movq 0x18(%r14), %rdi
movq 0x20(%r14), %rsi
movq 0xa816(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
jmp 0x4301
movl 0x18(%r14), %edx
cmpq $0x7, %rdx
ja 0x4380
movslq (%r15,%rdx,4), %rax
addq %r15, %rax
jmpq *%rax
movq 0x20(%r14), %r13
leaq 0x47ba(%rip), %rdi      # 0x81c3
movq %r14, %rsi
movq %r13, %rdx
pushq $0x1
popq %rcx
callq 0x45d1
cmpl $0x1, %eax
jne 0x4346
movq 0xa7c9(%rip), %rsi      # 0xe1f0
leaq 0x47a1(%rip), %rdi      # 0x81cf
callq 0x2130
movq 0xa7b6(%rip), %rsi      # 0xe1f0
leaq 0x479f(%rip), %rdi      # 0x81e0
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa79b(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa78c(%rip), %rsi      # 0xe1f0
leaq 0x4b8f(%rip), %rdi      # 0x85fa
callq 0x2130
movq 0xa779(%rip), %rsi      # 0xe1f0
leaq 0x4772(%rip), %rdi      # 0x81f0
callq 0x2130
movq %r13, %rdi
callq 0x45d9
movq 0xa75e(%rip), %rsi      # 0xe1f0
leaq 0x4778(%rip), %rdi      # 0x8211
jmp 0x40ca
movq 0x20(%r14), %rbp
leaq 0x49e7(%rip), %rdi      # 0x8490
movq %r14, %rsi
movq %rbp, %rdx
pushq $0x2
popq %rcx
pushq $0x3
popq %r8
callq 0x4793
cmpl $0x2, %eax
jl 0x4346
movl %eax, %ebx
movq (%rbp), %r13
cmpl $0x3, %eax
je 0x3f99
cmpl $0x2, %ebx
jne 0x4398
movsd 0x10(%rsp), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
movapd %xmm0, %xmm1
jbe 0x3fb8
jmp 0x431a
movq 0x20(%r14), %rbp
leaq 0x48f5(%rip), %rdi      # 0x83f9
movq %r14, %rsi
movq %rbp, %rdx
pushq $0x2
popq %rcx
callq 0x45d1
cmpl $0x2, %eax
jne 0x4346
movq (%rbp), %r13
movq 0xa6ca(%rip), %rsi      # 0xe1f0
leaq 0x48d9(%rip), %rdi      # 0x8406
callq 0x2130
movq 0xa6b7(%rip), %rsi      # 0xe1f0
leaq 0x48d8(%rip), %rdi      # 0x8418
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa69c(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa68d(%rip), %rsi      # 0xe1f0
leaq 0x48b8(%rip), %rdi      # 0x8422
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa672(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa663(%rip), %rsi      # 0xe1f0
leaq 0x4a66(%rip), %rdi      # 0x85fa
callq 0x2130
movq 0xa650(%rip), %rsi      # 0xe1f0
leaq 0x4649(%rip), %rdi      # 0x81f0
callq 0x2130
movq %rbp, %rdi
callq 0x45d9
movq 0xa635(%rip), %rsi      # 0xe1f0
leaq 0x4867(%rip), %rdi      # 0x8429
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa61a(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa60b(%rip), %rsi      # 0xe1f0
leaq 0x4844(%rip), %rdi      # 0x8430
jmp 0x3ce4
movq 0x20(%r14), %rbp
leaq 0x4851(%rip), %rdi      # 0x844d
movq %r14, %rsi
movq %rbp, %rdx
pushq $0x2
popq %rcx
callq 0x45d1
cmpl $0x2, %eax
jne 0x4346
movq (%rbp), %r13
movq 0xa5d2(%rip), %rsi      # 0xe1f0
leaq 0x4839(%rip), %rdi      # 0x845e
callq 0x2130
movq 0xa5bf(%rip), %rsi      # 0xe1f0
leaq 0x47e0(%rip), %rdi      # 0x8418
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa5a4(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa595(%rip), %rsi      # 0xe1f0
leaq 0x4812(%rip), %rdi      # 0x8474
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa57a(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa56b(%rip), %rsi      # 0xe1f0
leaq 0x496e(%rip), %rdi      # 0x85fa
callq 0x2130
movq 0xa558(%rip), %rsi      # 0xe1f0
leaq 0x4551(%rip), %rdi      # 0x81f0
callq 0x2130
movq %rbp, %rdi
callq 0x45d9
movq 0xa53d(%rip), %rsi      # 0xe1f0
leaq 0x476f(%rip), %rdi      # 0x8429
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa522(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa513(%rip), %rsi      # 0xe1f0
leaq 0x4797(%rip), %rdi      # 0x847b
callq 0x2130
jmp 0x40b4
movq 0x20(%r14), %rbx
leaq 0x4b2f(%rip), %rdi      # 0x8828
movq %r14, %rsi
movq %rbx, %rdx
pushq $0x1
popq %rcx
callq 0x45d1
cmpl $0x1, %eax
jne 0x4346
movq 0xa4d9(%rip), %rsi      # 0xe1f0
leaq 0x4b10(%rip), %rdi      # 0x882e
callq 0x2130
movq 0xa4c6(%rip), %rsi      # 0xe1f0
leaq 0x4b08(%rip), %rdi      # 0x8839
callq 0x2130
movq 0x18(%rbx), %rdi
movq 0x20(%rbx), %rsi
movq 0xa4ab(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa49c(%rip), %rsi      # 0xe1f0
leaq 0x4dc5(%rip), %rdi      # 0x8b20
callq 0x2130
movq 0xa489(%rip), %rsi      # 0xe1f0
leaq 0x492a(%rip), %rdi      # 0x8698
callq 0x2130
movq 0xa476(%rip), %rsi      # 0xe1f0
leaq 0x4938(%rip), %rdi      # 0x86b9
jmp 0x42fc
movq 0x20(%r14), %r13
leaq 0x463d(%rip), %rdi      # 0x83ce
movq %r14, %rsi
movq %r13, %rdx
pushq $0x1
popq %rcx
callq 0x45d1
cmpl $0x1, %eax
jne 0x4346
movq 0xa441(%rip), %rsi      # 0xe1f0
leaq 0x4625(%rip), %rdi      # 0x83db
callq 0x2130
movq 0xa42e(%rip), %rsi      # 0xe1f0
leaq 0x4810(%rip), %rdi      # 0x85d9
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa413(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa404(%rip), %rsi      # 0xe1f0
leaq 0x4808(%rip), %rdi      # 0x85fb
callq 0x2130
movq 0xa3f1(%rip), %rsi      # 0xe1f0
leaq 0x43ea(%rip), %rdi      # 0x81f0
callq 0x2130
movq %r13, %rdi
callq 0x45d9
movq 0xa3d6(%rip), %rsi      # 0xe1f0
leaq 0x45cc(%rip), %rdi      # 0x83ed
jmp 0x40ca
movq 0x20(%r14), %rbp
leaq 0x4761(%rip), %rdi      # 0x8592
movq %r14, %rsi
movq %rbp, %rdx
pushq $0x2
popq %rcx
callq 0x45d1
cmpl $0x2, %eax
jne 0x4346
movq (%rbp), %r13
movq 0xa39d(%rip), %rsi      # 0xe1f0
leaq 0x474b(%rip), %rdi      # 0x85a5
callq 0x2130
movq %rbp, %rdi
movq %r13, %rsi
callq 0x48a6
movq 0xa37f(%rip), %rsi      # 0xe1f0
leaq 0x4745(%rip), %rdi      # 0x85bd
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa364(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa355(%rip), %rsi      # 0xe1f0
leaq 0x4bf0(%rip), %rdi      # 0x8a92
callq 0x2130
movq 0xa342(%rip), %rsi      # 0xe1f0
leaq 0x4722(%rip), %rdi      # 0x85d7
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa327(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa318(%rip), %rsi      # 0xe1f0
leaq 0x4703(%rip), %rdi      # 0x85e2
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa2fd(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa2ee(%rip), %rsi      # 0xe1f0
leaq 0x46e8(%rip), %rdi      # 0x85f1
callq 0x2130
movq 0xa2db(%rip), %rsi      # 0xe1f0
leaq 0x46e7(%rip), %rdi      # 0x8603
callq 0x2130
movq %rbp, %rdi
callq 0x45d9
movq 0xa2c0(%rip), %rsi      # 0xe1f0
leaq 0x46ee(%rip), %rdi      # 0x8625
callq 0x2130
jmp 0x4246
movq 0x20(%r14), %rbp
leaq 0x4646(%rip), %rdi      # 0x8592
movq %r14, %rsi
movq %rbp, %rdx
pushq $0x2
popq %rcx
pushq $0x3
popq %r8
callq 0x4793
cmpl $0x2, %eax
jl 0x4346
movl %eax, %ebx
movq (%rbp), %r13
cmpl $0x3, %eax
je 0x4108
cmpl $0x2, %ebx
jne 0x4398
xorps %xmm0, %xmm0
ucomisd 0x10(%rsp), %xmm0
movss 0xc(%rsp), %xmm1
jbe 0x4127
jmp 0x4323
movq (%r13), %rax
movq 0x18(%rax), %rdi
xorl %esi, %esi
callq 0x20a0
movaps %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
ja 0x4311
movsd %xmm1, (%rsp)
movq 0xa22c(%rip), %rdi      # 0xe1f0
cmpl $0x3, %ebx
leaq 0x4b53(%rip), %rdx      # 0x8b21
leaq 0x4588(%rip), %rax      # 0x855d
cmoveq %rax, %rdx
leaq 0x4564(%rip), %rsi      # 0x8544
xorl %eax, %eax
callq 0x2190
movq 0xa202(%rip), %rsi      # 0xe1f0
leaq 0x456c(%rip), %rdi      # 0x8561
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa1e7(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa1d8(%rip), %rsi      # 0xe1f0
leaq 0x4550(%rip), %rdi      # 0x856f
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa1bd(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa1ae(%rip), %rdi      # 0xe1f0
leaq 0x479e(%rip), %rsi      # 0x87e7
movsd (%rsp), %xmm0
movb $0x1, %al
callq 0x2190
movq 0xa194(%rip), %rsi      # 0xe1f0
leaq 0x418d(%rip), %rdi      # 0x81f0
callq 0x2130
movq %rbp, %rdi
callq 0x45d9
movq 0xa179(%rip), %rsi      # 0xe1f0
leaq 0x43ab(%rip), %rdi      # 0x8429
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa15e(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa14f(%rip), %rdi      # 0xe1f0
leaq 0x44cd(%rip), %rsi      # 0x8575
movsd (%rsp), %xmm0
movb $0x1, %al
callq 0x2190
movq %r13, %rdi
callq 0x45d9
movq 0xa12d(%rip), %rsi      # 0xe1f0
leaq 0x437f(%rip), %rdi      # 0x8449
callq 0x2130
movq 0xa11a(%rip), %rsi      # 0xe1f0
leaq 0x45b9(%rip), %rdi      # 0x8696
callq 0x2130
movq 0xa107(%rip), %rsi      # 0xe1f0
leaq 0x45c7(%rip), %rdi      # 0x86b7
callq 0x2130
movq 0xa0f4(%rip), %rsi      # 0xe1f0
leaq 0x411b(%rip), %rdi      # 0x821e
jmp 0x42fc
movq (%r13), %rax
movq 0x18(%rax), %rdi
xorl %esi, %esi
callq 0x20a0
cvtsd2ss %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomiss %xmm1, %xmm0
ja 0x4311
movss %xmm1, (%rsp)
movq 0xa0bd(%rip), %rdi      # 0xe1f0
cmpl $0x3, %ebx
leaq 0x49e4(%rip), %rdx      # 0x8b21
leaq 0x4419(%rip), %rax      # 0x855d
cmoveq %rax, %rdx
leaq 0x4653(%rip), %rsi      # 0x87a2
xorl %eax, %eax
callq 0x2190
movq %rbp, %rdi
movq %r13, %rsi
callq 0x48a6
movq 0xa088(%rip), %rsi      # 0xe1f0
leaq 0x444e(%rip), %rdi      # 0x85bd
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa06d(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa05e(%rip), %rsi      # 0xe1f0
leaq 0x48f9(%rip), %rdi      # 0x8a92
callq 0x2130
movq 0xa04b(%rip), %rsi      # 0xe1f0
leaq 0x4615(%rip), %rdi      # 0x87c1
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0xa030(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0xa021(%rip), %rsi      # 0xe1f0
leaq 0x45fa(%rip), %rdi      # 0x87d0
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa006(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0x9ff7(%rip), %rdi      # 0xe1f0
cvtss2sd (%rsp), %xmm0
movsd %xmm0, (%rsp)
leaq 0x45d4(%rip), %rsi      # 0x87de
movb $0x1, %al
callq 0x2190
movq 0x9fd8(%rip), %rsi      # 0xe1f0
leaq 0x43e4(%rip), %rdi      # 0x8603
callq 0x2130
movq %rbp, %rdi
callq 0x45d9
movq 0x9fbd(%rip), %rdi      # 0xe1f0
leaq 0x45bc(%rip), %rsi      # 0x87f6
movsd (%rsp), %xmm0
movb $0x1, %al
callq 0x2190
movq %r13, %rdi
callq 0x45d9
movq 0x9f9b(%rip), %rsi      # 0xe1f0
leaq 0x43f7(%rip), %rdi      # 0x8653
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9f80(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0x9f71(%rip), %rsi      # 0xe1f0
leaq 0x43ef(%rip), %rdi      # 0x8675
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0x9f56(%rip), %rcx      # 0xe1f0
movq %r12, %rdx
callq 0x2250
movq 0x9f47(%rip), %rsi      # 0xe1f0
leaq 0x43d8(%rip), %rdi      # 0x8688
callq 0x2130
movq 0x9f34(%rip), %rsi      # 0xe1f0
leaq 0x43d1(%rip), %rdi      # 0x8694
callq 0x2130
movq 0x9f21(%rip), %rsi      # 0xe1f0
leaq 0x43df(%rip), %rdi      # 0x86b5
callq 0x2130
movq 0x9f0e(%rip), %rsi      # 0xe1f0
leaq 0x43dc(%rip), %rdi      # 0x86c5
callq 0x2130
movq 0x9efb(%rip), %rsi      # 0xe1f0
leaq 0x43d7(%rip), %rdi      # 0x86d3
callq 0x2130
movq (%r14), %r14
testq %r14, %r14
jne 0x39b8
xorl %eax, %eax
jmp 0x4349
leaq 0x41d6(%rip), %rsi      # 0x84ee
jmp 0x432a
leaq 0x4181(%rip), %rsi      # 0x84a2
jmp 0x432a
leaq 0x4413(%rip), %rsi      # 0x873d
movq 0x7cc7(%rip), %rax      # 0xbff8
movq (%rax), %rdi
movq 0x9ebd(%rip), %rdx      # 0xe1f8
movq 0x10(%r14), %rcx
xorl %eax, %eax
callq 0x2190
pushq $-0x1
popq %rax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x7c99(%rip), %rax      # 0xbff8
movq (%rax), %rdi
movq 0x9e8f(%rip), %rdx      # 0xe1f8
movq 0x10(%r14), %rcx
leaq 0x3df7(%rip), %rsi      # 0x816b
xorl %eax, %eax
callq 0x2190
callq 0x2050
movq 0x7c71(%rip), %rax      # 0xbff8
movq (%rax), %rdi
leaq 0x3e1a(%rip), %rsi      # 0x81ab
xorl %eax, %eax
callq 0x2190
callq 0x2050