// File: /workspace/github_c_makefile_star2_O1/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
leaq 0x3a9f(%rip), %r14      # 0x7900
movsd %xmm0, 0x10(%rsp)
cvtsd2ss %xmm0, %xmm0
movss %xmm0, 0xc(%rsp)
movl 0x8(%rbx), %esi
cmpl $0x1, %esi
je 0x3e9f
testl %esi, %esi
jne 0x4889
movq 0x18(%rbx), %rdi
movq 0x20(%rbx), %rsi
movq 0xa360(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
jmp 0x4838
movl 0x18(%rbx), %edi
cmpq $0x7, %rdi
ja 0x4891
movslq (%r14,%rdi,4), %rax
addq %r14, %rax
jmpq *%rax
movq 0x20(%rbx), %r12
leaq 0x43f3(%rip), %rdi      # 0x82b3
movq %rbx, %rsi
movq %r12, %rdx
movl $0x1, %ecx
movl $0x1, %r8d
callq 0x4cf7
cmpl $0x1, %eax
jne 0x4849
movq 0xa30a(%rip), %rsi      # 0xe1f0
leaq 0x43d2(%rip), %rdi      # 0x82bf
callq 0x2130
movq 0xa2f7(%rip), %rsi      # 0xe1f0
leaq 0x43d0(%rip), %rdi      # 0x82d0
callq 0x2130
movq 0x18(%r12), %rdi
movq 0x20(%r12), %rsi
movq 0xa2da(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa2c9(%rip), %rsi      # 0xe1f0
leaq 0x47bc(%rip), %rdi      # 0x86ea
callq 0x2130
movq 0xa2b6(%rip), %rsi      # 0xe1f0
leaq 0x439f(%rip), %rdi      # 0x82e0
callq 0x2130
movq %r12, %rdi
callq 0x4add
movq 0xa29b(%rip), %rsi      # 0xe1f0
leaq 0x43a5(%rip), %rdi      # 0x8301
jmp 0x45f3
movq 0x20(%rbx), %rbp
leaq 0x4614(%rip), %rdi      # 0x8580
movq %rbx, %rsi
movq %rbp, %rdx
movl $0x2, %ecx
movl $0x3, %r8d
callq 0x4cf7
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
cmpl $0x2, %eax
jl 0x484f
movl %eax, %r15d
movq (%rbp), %r13
cmpl $0x3, %eax
je 0x44bb
cmpl $0x2, %r15d
jne 0x4896
movsd 0x10(%rsp), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm0, %xmm1
movapd %xmm0, %xmm1
jbe 0x44da
jmp 0x4861
movq 0x20(%rbx), %r13
leaq 0x4516(%rip), %rdi      # 0x84e9
movq %rbx, %rsi
movq %r13, %rdx
movl $0x2, %ecx
movl $0x2, %r8d
callq 0x4cf7
cmpl $0x2, %eax
jne 0x4849
movq (%r13), %r12
movq 0xa1f3(%rip), %rsi      # 0xe1f0
leaq 0x44f2(%rip), %rdi      # 0x84f6
callq 0x2130
movq 0xa1e0(%rip), %rsi      # 0xe1f0
leaq 0x44f1(%rip), %rdi      # 0x8508
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa1c5(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa1b4(%rip), %rsi      # 0xe1f0
leaq 0x44cf(%rip), %rdi      # 0x8512
callq 0x2130
movq 0x18(%r12), %rdi
movq 0x20(%r12), %rsi
movq 0xa197(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa186(%rip), %rsi      # 0xe1f0
leaq 0x4679(%rip), %rdi      # 0x86ea
callq 0x2130
movq 0xa173(%rip), %rsi      # 0xe1f0
leaq 0x425c(%rip), %rdi      # 0x82e0
callq 0x2130
movq %r13, %rdi
callq 0x4add
movq 0xa158(%rip), %rsi      # 0xe1f0
leaq 0x447a(%rip), %rdi      # 0x8519
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa13d(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa12c(%rip), %rsi      # 0xe1f0
leaq 0x4455(%rip), %rdi      # 0x8520
jmp 0x41d3
movq 0x20(%rbx), %r13
leaq 0x4462(%rip), %rdi      # 0x853d
movq %rbx, %rsi
movq %r13, %rdx
movl $0x2, %ecx
movl $0x2, %r8d
callq 0x4cf7
cmpl $0x2, %eax
jne 0x4849
movq (%r13), %r12
movq 0xa0eb(%rip), %rsi      # 0xe1f0
leaq 0x4442(%rip), %rdi      # 0x854e
callq 0x2130
movq 0xa0d8(%rip), %rsi      # 0xe1f0
leaq 0x43e9(%rip), %rdi      # 0x8508
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa0bd(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa0ac(%rip), %rsi      # 0xe1f0
leaq 0x4419(%rip), %rdi      # 0x8564
callq 0x2130
movq 0x18(%r12), %rdi
movq 0x20(%r12), %rsi
movq 0xa08f(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa07e(%rip), %rsi      # 0xe1f0
leaq 0x4571(%rip), %rdi      # 0x86ea
callq 0x2130
movq 0xa06b(%rip), %rsi      # 0xe1f0
leaq 0x4154(%rip), %rdi      # 0x82e0
callq 0x2130
movq %r13, %rdi
callq 0x4add
movq 0xa050(%rip), %rsi      # 0xe1f0
leaq 0x4372(%rip), %rdi      # 0x8519
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0xa035(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0xa024(%rip), %rsi      # 0xe1f0
leaq 0x4398(%rip), %rdi      # 0x856b
callq 0x2130
movq %r12, %rdi
jmp 0x45e0
movq 0x20(%rbx), %r15
leaq 0x472d(%rip), %rdi      # 0x8918
movq %rbx, %rsi
movq %r15, %rdx
movl $0x1, %ecx
movl $0x1, %r8d
callq 0x4cf7
cmpl $0x1, %eax
jne 0x4849
movq 0x9fdf(%rip), %rsi      # 0xe1f0
leaq 0x4706(%rip), %rdi      # 0x891e
callq 0x2130
movq 0x9fcc(%rip), %rsi      # 0xe1f0
leaq 0x46fe(%rip), %rdi      # 0x8929
callq 0x2130
movq 0x18(%r15), %rdi
movq 0x20(%r15), %rsi
movq 0x9fb1(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9fa0(%rip), %rsi      # 0xe1f0
leaq 0x49b9(%rip), %rdi      # 0x8c10
callq 0x2130
movq 0x9f8d(%rip), %rsi      # 0xe1f0
leaq 0x451e(%rip), %rdi      # 0x8788
callq 0x2130
movq 0x9f7a(%rip), %rsi      # 0xe1f0
leaq 0x452c(%rip), %rdi      # 0x87a9
jmp 0x4833
movq 0x20(%rbx), %r12
leaq 0x4231(%rip), %rdi      # 0x84be
movq %rbx, %rsi
movq %r12, %rdx
movl $0x1, %ecx
movl $0x1, %r8d
callq 0x4cf7
cmpl $0x1, %eax
jne 0x4849
movq 0x9f3d(%rip), %rsi      # 0xe1f0
leaq 0x4211(%rip), %rdi      # 0x84cb
callq 0x2130
movq 0x9f2a(%rip), %rsi      # 0xe1f0
leaq 0x43fc(%rip), %rdi      # 0x86c9
callq 0x2130
movq 0x18(%r12), %rdi
movq 0x20(%r12), %rsi
movq 0x9f0d(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9efc(%rip), %rsi      # 0xe1f0
leaq 0x43f0(%rip), %rdi      # 0x86eb
callq 0x2130
movq 0x9ee9(%rip), %rsi      # 0xe1f0
leaq 0x3fd2(%rip), %rdi      # 0x82e0
callq 0x2130
movq %r12, %rdi
callq 0x4add
movq 0x9ece(%rip), %rsi      # 0xe1f0
leaq 0x41b4(%rip), %rdi      # 0x84dd
jmp 0x45f3
movq 0x20(%rbx), %rbp
leaq 0x4349(%rip), %rdi      # 0x8682
movq %rbx, %rsi
movq %rbp, %rdx
movl $0x2, %ecx
movl $0x2, %r8d
callq 0x4cf7
cmpl $0x2, %eax
jne 0x4849
movq (%rbp), %r13
movq 0x9e8d(%rip), %rsi      # 0xe1f0
leaq 0x432b(%rip), %rdi      # 0x8695
callq 0x2130
movq %rbp, %rdi
movq %r13, %rsi
callq 0x4e1b
movq 0x9e6f(%rip), %rsi      # 0xe1f0
leaq 0x4325(%rip), %rdi      # 0x86ad
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9e54(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9e43(%rip), %rsi      # 0xe1f0
leaq 0x47ce(%rip), %rdi      # 0x8b82
callq 0x2130
movq 0x9e30(%rip), %rsi      # 0xe1f0
leaq 0x4300(%rip), %rdi      # 0x86c7
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9e15(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9e04(%rip), %rsi      # 0xe1f0
leaq 0x42df(%rip), %rdi      # 0x86d2
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0x9de9(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9dd8(%rip), %rsi      # 0xe1f0
leaq 0x42c2(%rip), %rdi      # 0x86e1
callq 0x2130
movq 0x9dc5(%rip), %rsi      # 0xe1f0
leaq 0x42c1(%rip), %rdi      # 0x86f3
callq 0x2130
movq %rbp, %rdi
callq 0x4add
movq 0x9daa(%rip), %rsi      # 0xe1f0
leaq 0x42c8(%rip), %rdi      # 0x8715
callq 0x2130
jmp 0x4779
movq 0x20(%rbx), %rbp
leaq 0x4220(%rip), %rdi      # 0x8682
movq %rbx, %rsi
movq %rbp, %rdx
movl $0x2, %ecx
movl $0x3, %r8d
callq 0x4cf7
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
cmpl $0x2, %eax
jl 0x484f
movl %eax, %r15d
movq (%rbp), %r13
cmpl $0x3, %eax
je 0x4631
cmpl $0x2, %r15d
jne 0x4896
xorps %xmm0, %xmm0
ucomisd 0x10(%rsp), %xmm0
ja 0x4875
movss 0xc(%rsp), %xmm1
jmp 0x4650
movq (%r13), %rax
movq 0x18(%rax), %rdi
xorl %esi, %esi
callq 0x20a0
movaps %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomisd %xmm1, %xmm0
ja 0x486b
movsd %xmm1, (%rsp)
movq 0x9d0a(%rip), %rdi      # 0xe1f0
cmpl $0x3, %r15d
leaq 0x4720(%rip), %rdx      # 0x8c11
leaq 0x4155(%rip), %rax      # 0x864d
cmoveq %rax, %rdx
leaq 0x4131(%rip), %rsi      # 0x8634
xorl %eax, %eax
callq 0x2190
movq 0x9cdf(%rip), %rsi      # 0xe1f0
leaq 0x4139(%rip), %rdi      # 0x8651
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9cc4(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9cb3(%rip), %rsi      # 0xe1f0
leaq 0x411b(%rip), %rdi      # 0x865f
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0x9c98(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9c87(%rip), %rdi      # 0xe1f0
leaq 0x4367(%rip), %rsi      # 0x88d7
movsd (%rsp), %xmm0
movb $0x1, %al
callq 0x2190
movq 0x9c6d(%rip), %rsi      # 0xe1f0
leaq 0x3d56(%rip), %rdi      # 0x82e0
callq 0x2130
movq %rbp, %rdi
callq 0x4add
movq 0x9c52(%rip), %rsi      # 0xe1f0
leaq 0x3f74(%rip), %rdi      # 0x8519
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9c37(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9c26(%rip), %rdi      # 0xe1f0
leaq 0x4094(%rip), %rsi      # 0x8665
movsd (%rsp), %xmm0
movb $0x1, %al
callq 0x2190
movq %r13, %rdi
callq 0x4add
movq 0x9c04(%rip), %rsi      # 0xe1f0
leaq 0x3f46(%rip), %rdi      # 0x8539
callq 0x2130
movq 0x9bf1(%rip), %rsi      # 0xe1f0
leaq 0x4180(%rip), %rdi      # 0x8786
callq 0x2130
movq 0x9bde(%rip), %rsi      # 0xe1f0
leaq 0x418e(%rip), %rdi      # 0x87a7
callq 0x2130
movq 0x9bcb(%rip), %rsi      # 0xe1f0
leaq 0x3ce2(%rip), %rdi      # 0x830e
jmp 0x4833
movq (%r13), %rax
movq 0x18(%rax), %rdi
xorl %esi, %esi
callq 0x20a0
cvtsd2ss %xmm0, %xmm1
xorps %xmm0, %xmm0
ucomiss %xmm1, %xmm0
ja 0x487f
movss %xmm1, (%rsp)
movq 0x9b94(%rip), %rdi      # 0xe1f0
cmpl $0x3, %r15d
leaq 0x45aa(%rip), %rdx      # 0x8c11
leaq 0x3fdf(%rip), %rax      # 0x864d
cmoveq %rax, %rdx
leaq 0x4219(%rip), %rsi      # 0x8892
xorl %eax, %eax
callq 0x2190
movq %rbp, %rdi
movq %r13, %rsi
callq 0x4e1b
movq 0x9b5e(%rip), %rsi      # 0xe1f0
leaq 0x4014(%rip), %rdi      # 0x86ad
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9b43(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9b32(%rip), %rsi      # 0xe1f0
leaq 0x44bd(%rip), %rdi      # 0x8b82
callq 0x2130
movq 0x9b1f(%rip), %rsi      # 0xe1f0
leaq 0x41d9(%rip), %rdi      # 0x88b1
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9b04(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9af3(%rip), %rsi      # 0xe1f0
leaq 0x41bc(%rip), %rdi      # 0x88c0
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0x9ad8(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9ac7(%rip), %rdi      # 0xe1f0
xorps %xmm0, %xmm0
cvtss2sd (%rsp), %xmm0
movsd %xmm0, (%rsp)
leaq 0x4191(%rip), %rsi      # 0x88ce
movb $0x1, %al
callq 0x2190
movq 0x9aa5(%rip), %rsi      # 0xe1f0
leaq 0x3fa1(%rip), %rdi      # 0x86f3
callq 0x2130
movq %rbp, %rdi
callq 0x4add
movq 0x9a8a(%rip), %rdi      # 0xe1f0
leaq 0x4179(%rip), %rsi      # 0x88e6
movsd (%rsp), %xmm0
movb $0x1, %al
callq 0x2190
movq %r13, %rdi
callq 0x4add
movq 0x9a68(%rip), %rsi      # 0xe1f0
leaq 0x3fb4(%rip), %rdi      # 0x8743
callq 0x2130
movq 0x18(%rbp), %rdi
movq 0x20(%rbp), %rsi
movq 0x9a4d(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9a3c(%rip), %rsi      # 0xe1f0
leaq 0x3faa(%rip), %rdi      # 0x8765
callq 0x2130
movq 0x18(%r13), %rdi
movq 0x20(%r13), %rsi
movq 0x9a21(%rip), %rcx      # 0xe1f0
movl $0x1, %edx
callq 0x2250
movq 0x9a10(%rip), %rsi      # 0xe1f0
leaq 0x3f91(%rip), %rdi      # 0x8778
callq 0x2130
movq 0x99fd(%rip), %rsi      # 0xe1f0
leaq 0x3f8a(%rip), %rdi      # 0x8784
callq 0x2130
movq 0x99ea(%rip), %rsi      # 0xe1f0
leaq 0x3f98(%rip), %rdi      # 0x87a5
callq 0x2130
movq 0x99d7(%rip), %rsi      # 0xe1f0
leaq 0x3f95(%rip), %rdi      # 0x87b5
callq 0x2130
movq 0x99c4(%rip), %rsi      # 0xe1f0
leaq 0x3f90(%rip), %rdi      # 0x87c3
callq 0x2130
movq (%rbx), %rbx
testq %rbx, %rbx
jne 0x3e71
xorl %r12d, %r12d
jmp 0x484f
movl $0xffffffff, %r12d      # imm = 0xFFFFFFFF
movl %r12d, %eax
addq $0x18, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rbx, %rdi
callq 0x24d0
jmp 0x484f
movq %rbx, %rdi
callq 0x24aa
jmp 0x484f
movq %rbx, %rdi
callq 0x2484
jmp 0x484f
movq %rbx, %rdi
callq 0x245e
jmp 0x484f
movq %rbx, %rdi
callq 0x2516
callq 0x24f6
callq 0x2050