// File: /workspace/github_c_makefile_star2_O2/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, %r12d
movq %rdx, %r15
movl %esi, %ebx
movq %rdi, %r14
callq 0x72524
cmpl $0x5, %ebx
ja 0x73a48
movl %ebx, %eax
leaq 0x2c505(%rip), %rcx     # 0x9fe70
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
cmpl $-0x1, %r13d
je 0x7398f
cmpl $0x1, %r13d
jne 0x739c0
incl %ebp
subq $0x8, %rsp
leaq 0x2cae2(%rip), %rsi     # 0xa046f
jmp 0x7399c
decl %ebp
subq $0x8, %rsp
leaq 0x2caf1(%rip), %rsi     # 0xa048d
movq %r14, %rdi
movq %r15, %rdx
movl %r12d, %ecx
movq %r15, %r8
movl %ebp, %r9d
xorl %eax, %eax
jmp 0x73a3f
testl %r13d, %r13d
jle 0x73a04
leaq 0x2cb31(%rip), %rsi     # 0xa04ef
jmp 0x73a0b
jl 0x73a20
incl %ebp
leaq 0x2cae0(%rip), %rsi     # 0xa04ab
jmp 0x73a2c
leaq 0x2cb61(%rip), %rsi     # 0xa0535
movq %r14, %rdi
movq %r15, %rdx
movl %r12d, %ecx
movl %ebp, %r8d
movl %r13d, %r9d
jmp 0x739fb
leaq 0x2cb35(%rip), %rsi     # 0xa0521
movq %r14, %rdi
movq %r15, %rdx
movl %r12d, %ecx
movl %r13d, %r8d
movl %ebp, %r9d
xorl %eax, %eax
callq 0x42e0
jmp 0x73a48
leaq 0x2cafb(%rip), %rsi     # 0xa0506
movq %r14, %rdi
movq %r15, %rdx
movl %r12d, %ecx
movl %ebp, %r8d
xorl %eax, %eax
callq 0x42e0
jmp 0x73a48
decl %ebp
negl %r13d
leaq 0x2caa1(%rip), %rsi     # 0xa04cd
movq %r14, %rdi
movq %r15, %rdx
movl %r12d, %ecx
movq %r15, %r8
movl %ebp, %r9d
xorl %eax, %eax
pushq %r13
pushq %r15
callq 0x42e0
popq %rcx
popq %rdx
movq %r14, %rdi
movl %ebx, %esi
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x7254e