// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movl %r8d, -0x20(%rbp)
movl %r9d, -0x24(%rbp)
movq -0x8(%rbp), %rdi
callq 0xaef10
movl -0xc(%rbp), %eax
movq %rax, -0x30(%rbp)
subq $0x5, %rax
ja 0xb126c
movq -0x30(%rbp), %rax
leaq 0x3b5a1(%rip), %rcx     # 0xec694
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $0x1, -0x24(%rbp)
jne 0xb1134
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl -0x1c(%rbp), %ecx
movq -0x18(%rbp), %r8
movl -0x20(%rbp), %r9d
addl $0x1, %r9d
movq -0x18(%rbp), %rax
leaq 0x3ba57(%rip), %rsi     # 0xecb7b
movq %rax, (%rsp)
movb $0x0, %al
callq 0x4280
jmp 0xb11df
cmpl $-0x1, -0x24(%rbp)
jne 0xb1169
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl -0x1c(%rbp), %ecx
movq -0x18(%rbp), %r8
movl -0x20(%rbp), %r9d
subl $0x1, %r9d
movq -0x18(%rbp), %rax
leaq 0x3ba3d(%rip), %rsi     # 0xecb99
movq %rax, (%rsp)
movb $0x0, %al
callq 0x4280
jmp 0xb11dd
cmpl $0x0, -0x24(%rbp)
jle 0xb11a5
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl -0x1c(%rbp), %ecx
movq -0x18(%rbp), %r8
movl -0x20(%rbp), %r9d
addl $0x1, %r9d
movq -0x18(%rbp), %r10
movl -0x24(%rbp), %eax
leaq 0x3ba23(%rip), %rsi     # 0xecbb7
movq %r10, (%rsp)
movl %eax, 0x8(%rsp)
movb $0x0, %al
callq 0x4280
jmp 0xb11db
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl -0x1c(%rbp), %ecx
movq -0x18(%rbp), %r8
movl -0x20(%rbp), %r9d
subl $0x1, %r9d
movq -0x18(%rbp), %r10
xorl %eax, %eax
subl -0x24(%rbp), %eax
leaq 0x3ba0d(%rip), %rsi     # 0xecbd9
movq %r10, (%rsp)
movl %eax, 0x8(%rsp)
movb $0x0, %al
callq 0x4280
jmp 0xb11dd
jmp 0xb11df
jmp 0xb126c
cmpl $0x0, -0x24(%rbp)
jle 0xb1209
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl -0x1c(%rbp), %ecx
movl -0x20(%rbp), %r8d
leaq 0x3b9fb(%rip), %rsi     # 0xecbfb
movb $0x0, %al
callq 0x4280
jmp 0xb1226
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl -0x1c(%rbp), %ecx
movl -0x20(%rbp), %r8d
leaq 0x3b9f3(%rip), %rsi     # 0xecc12
movb $0x0, %al
callq 0x4280
jmp 0xb126c
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl -0x1c(%rbp), %ecx
movl -0x24(%rbp), %r8d
movl -0x20(%rbp), %r9d
leaq 0x3b9eb(%rip), %rsi     # 0xecc2d
movb $0x0, %al
callq 0x4280
jmp 0xb126c
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rdx
movl -0x1c(%rbp), %ecx
movl -0x20(%rbp), %r8d
movl -0x24(%rbp), %r9d
leaq 0x3b9dc(%rip), %rsi     # 0xecc41
movb $0x0, %al
callq 0x4280
movq -0x8(%rbp), %rdi
movl -0xc(%rbp), %esi
callq 0xaef60
addq $0x40, %rsp
popq %rbp
retq
nop