// File: /workspace/github_c_makefile_star2_O1/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, 0x332725(%rip)    # 0x3af1e8
jle 0x7cae1
xorl %r12d, %r12d
movl $0x20, %edi
movq %r14, %rsi
callq 0x4150
incl %r12d
cmpl 0x332709(%rip), %r12d   # 0x3af1e8
jl 0x7cac8
cmpl $0x5, %ebx
ja 0x7cbd7
movl %ebx, %eax
leaq 0x30371(%rip), %rcx     # 0xace64
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $-0x1, %r13d
je 0x7cb17
cmpl $0x1, %r13d
jne 0x7cb49
incl %ebp
subq $0x8, %rsp
leaq 0x3095e(%rip), %rsi     # 0xad473
jmp 0x7cb24
decl %ebp
subq $0x8, %rsp
leaq 0x3096d(%rip), %rsi     # 0xad491
movq %r14, %rdi
movq %r15, %rdx
movl 0xc(%rsp), %ecx
movq %r15, %r8
movl %ebp, %r9d
xorl %eax, %eax
jmp 0x7cbcc
testl %r13d, %r13d
jle 0x7cb8f
leaq 0x309ac(%rip), %rsi     # 0xad4f3
jmp 0x7cb96
jl 0x7cbac
incl %ebp
leaq 0x3095b(%rip), %rsi     # 0xad4af
jmp 0x7cbb8
leaq 0x309dc(%rip), %rsi     # 0xad539
movq %r14, %rdi
movq %r15, %rdx
movl 0x4(%rsp), %ecx
movl %ebp, %r8d
movl %r13d, %r9d
jmp 0x7cb86
leaq 0x309af(%rip), %rsi     # 0xad525
movq %r14, %rdi
movq %r15, %rdx
movl 0x4(%rsp), %ecx
movl %r13d, %r8d
movl %ebp, %r9d
xorl %eax, %eax
callq 0x42e0
jmp 0x7cbd7
leaq 0x30974(%rip), %rsi     # 0xad50a
movq %r14, %rdi
movq %r15, %rdx
movl 0x4(%rsp), %ecx
movl %ebp, %r8d
xorl %eax, %eax
callq 0x42e0
jmp 0x7cbd7
decl %ebp
negl %r13d
leaq 0x30919(%rip), %rsi     # 0xad4d1
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 0x7b3d3