// File: /workspace/github_c_makefile_star2_O3/olcaytaner[P]Isell/savecode.c
// Function: code_for
void code_for(FILE* testcodefile, PROGRAMMING_LANGUAGE_TYPE language, char* variable, int start, int end, int difference)
{
 /*!Last Changed 07.06.2006*/
 code_indentation(testcodefile);
 switch (language){
   case C_LANGUAGE      :
   case CPP_LANGUAGE    :
   case JAVA_LANGUAGE   :if (difference == 1)
                           fprintf(testcodefile, "for (%s = %d; %s < %d; %s++)\n", variable, start, variable, end + 1, variable);
                         else
                           if (difference == -1)
                             fprintf(testcodefile, "for (%s = %d; %s > %d; %s--)\n", variable, start, variable, end - 1, variable);
                           else
                             if (difference > 0)
                               fprintf(testcodefile, "for (%s = %d; %s < %d; %s += %d)\n", variable, start, variable, end + 1, variable, difference);
                             else
                               fprintf(testcodefile, "for (%s = %d; %s > %d; %s -= %d)\n", variable, start, variable, end - 1, variable, -difference);                             
                         break;
   case PASCAL_LANGUAGE :if (difference > 0)
                           fprintf(testcodefile, "for %s := %d to %d do\n", variable, start, end);
                         else
                           fprintf(testcodefile, "for %s := %d downto %d do\n", variable, start, end);
                         break;
   case MATLAB_LANGUAGE :fprintf(testcodefile, "for %s = %d:%d:%d,\n", variable, start, difference, end);
                         break;
   case FORTRAN_LANGUAGE:fprintf(testcodefile, "do %s = %d, %d, %d\n", variable, start, end, difference);
                         break;
 };  
 code_start_block(testcodefile, language);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
movl %r9d, %r13d
movl %r8d, %ebp
movl %ecx, 0x4(%rsp)
movq %rdx, %r15
movl %esi, %ebx
movq %rdi, %r14
cmpl $0x0, 0x333de8(%rip)    # 0x3b21e8
jle 0x7e41e
xorl %r12d, %r12d
movl $0x20, %edi
movq %r14, %rsi
callq 0x4150
incl %r12d
cmpl 0x333dcc(%rip), %r12d   # 0x3b21e8
jl 0x7e405
cmpl $0x5, %ebx
ja 0x7e514
movl %ebx, %eax
leaq 0x31b0c(%rip), %rcx     # 0xaff3c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $-0x1, %r13d
je 0x7e454
cmpl $0x1, %r13d
jne 0x7e486
incl %ebp
subq $0x8, %rsp
leaq 0x320b9(%rip), %rsi     # 0xb050b
jmp 0x7e461
decl %ebp
subq $0x8, %rsp
leaq 0x320c8(%rip), %rsi     # 0xb0529
movq %r14, %rdi
movq %r15, %rdx
movl 0xc(%rsp), %ecx
movq %r15, %r8
movl %ebp, %r9d
xorl %eax, %eax
jmp 0x7e509
testl %r13d, %r13d
jle 0x7e4cc
leaq 0x32107(%rip), %rsi     # 0xb058b
jmp 0x7e4d3
jl 0x7e4e9
incl %ebp
leaq 0x320b6(%rip), %rsi     # 0xb0547
jmp 0x7e4f5
leaq 0x32137(%rip), %rsi     # 0xb05d1
movq %r14, %rdi
movq %r15, %rdx
movl 0x4(%rsp), %ecx
movl %ebp, %r8d
movl %r13d, %r9d
jmp 0x7e4c3
leaq 0x3210a(%rip), %rsi     # 0xb05bd
movq %r14, %rdi
movq %r15, %rdx
movl 0x4(%rsp), %ecx
movl %r13d, %r8d
movl %ebp, %r9d
xorl %eax, %eax
callq 0x42e0
jmp 0x7e514
leaq 0x320cf(%rip), %rsi     # 0xb05a2
movq %r14, %rdi
movq %r15, %rdx
movl 0x4(%rsp), %ecx
movl %ebp, %r8d
xorl %eax, %eax
callq 0x42e0
jmp 0x7e514
decl %ebp
negl %r13d
leaq 0x32074(%rip), %rsi     # 0xb0569
movq %r14, %rdi
movq %r15, %rdx
movl 0x4(%rsp), %ecx
movq %r15, %r8
movl %ebp, %r9d
xorl %eax, %eax
pushq %r13
pushq %r15
callq 0x42e0
addq $0x10, %rsp
movq %r14, %rdi
movl %ebx, %esi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x7cca3