// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/instance.c
// Function: print_instance
void print_instance(FILE* outfile, char s, Datasetptr d, Instanceptr currentinstance)
{
 /*!Last Changed 13.02.2008 added regression datasets for !mustrealize*/
 /*!Last Changed 16.10.2005 updated to include the new namestype classatend*/
	/*!Last Changed 13.10.2004 updated to include the new namestype classic*/
	/*!Last Changed 10.03.2004 extended to regression*/
	/*!Last Changed 28.10.2003*/
	int i, sindex;
	double value;
	char pst[READLINELENGTH];
	if (!mustrealize)
	 {
   for (i = 0; i < d->featurecount; i++)
				 if (d->features[i].selected)
					 {
       switch (d->features[i].type)
					   {
         case  INTEGER:if (currentinstance->values[i].intvalue == ISELL)
					    			         			 fprintf(outfile,"?%c", s);
             						    else
             						      fprintf(outfile,"%d%c", currentinstance->values[i].intvalue, s);
             						    break;
  		  			case   REGDEF:
         case     REAL:if (currentinstance->values[i].floatvalue == ISELL)
             											 fprintf(outfile,"?%c", s);
             										else
             												fprintf(outfile, "%5.6f%c", currentinstance->values[i].floatvalue, s);
             						    break;
         case   STRING:
	    				case CLASSDEF:if (in_list(get_parameter_l("namestype"), 3, NAMES_RIPPER, NAMES_CLASSATEND, NAMES_AYSU) && d->features[i].type == CLASSDEF)
		    																			continue;
			  	  											    sindex = currentinstance->values[i].stringindex;
             						    if (sindex == -1)
             												fprintf(outfile, "?%c", s);
           	  									else
           			  			      fprintf(outfile, "%s%c", d->features[i].strings[sindex], s);
           					  	    break;
         default      :printf(m1238, d->features[i].type);
                       break;
					   }
				  }
   if (d->classno != 0)
    {/*Classification*/
     sindex = give_classno(currentinstance);
     if (sindex != -1 && in_list(get_parameter_l("namestype"), 3, NAMES_RIPPER, NAMES_CLASSATEND, NAMES_AYSU))
      {
       if (get_parameter_l("namestype") == NAMES_RIPPER)
         fprintf(outfile, "c%s", d->features[d->classdefno].strings[sindex]);
       else
         if (get_parameter_l("namestype") == NAMES_CLASSATEND)
           fprintf(outfile,"%s", d->features[d->classdefno].strings[sindex]);
         else
           fprintf(outfile,"%d", sindex);     
      }
    }
	 }
	else
	 {
		 for (i = 0; i < d->multifeaturecount - 1; i++)
				 if (d->selected[i])
					 {
				   value = real_feature(currentinstance, i);
       if (value == ISELL)
         fprintf(outfile, "?%c", s);
       else
							 {
								 if (get_parameter_l("namestype") == NAMES_CMU && i == d->multifeaturecount - 2)
									 {
										 set_precision(pst, NULL, "=>");
           fprintf(outfile, pst, value);
									 }
									else
									 {
										 set_precision(pst, NULL, "%c");
           fprintf(outfile, pst, value, s);
									 }
							 }
					 }
			if (d->classno != 0)
			 {/*Classification*/
     sindex = give_classno(currentinstance);
	  		if (in_list(get_parameter_l("namestype"), 2, NAMES_RIPPER, NAMES_CLASSATEND))
		  		 exchange_classdefno(current_dataset);
	  		if (get_parameter_l("namestype") == NAMES_RIPPER)
    			fprintf(outfile, "c%s", d->features[d->classdefno].strings[sindex]);
		  	else
			  	 if (get_parameter_l("namestype") == NAMES_CLASSATEND)
  		  			fprintf(outfile, "%s", d->features[d->classdefno].strings[sindex]);
		  			else
			  			 if (in_list(get_parameter_l("namestype"), 3, NAMES_C50, NAMES_CLASSIC, NAMES_AYSU))
				  		   fprintf(outfile, "%d", sindex);
			  				else
									 {								 
  								 for (i = 0; i < d->classno - 1; i++)
	  									 if (i == sindex)
		  										 fprintf(outfile, " +,");
			  								else
				  								 fprintf(outfile, " -,");
					  				if (sindex == d->classno - 1)
						  				 fprintf(outfile, " +;");
						  			else
							  			 fprintf(outfile, " -;");
									 }
			  if (in_list(get_parameter_l("namestype"), 2, NAMES_RIPPER, NAMES_CLASSATEND))
				   exchange_classdefno(current_dataset);
			 }
			else
     if (d->classdefno != -1) 
      {/*Regression*/
					  value = give_regressionvalue(currentinstance);
				   if (get_parameter_l("namestype") == NAMES_CMU)
        {
         set_precision(pst, NULL, ";");
						   fprintf(outfile, pst, value);        
        }
       else 
         if (get_parameter_l("namestype") == NAMES_CLASSATEND)
          {
           set_precision(pst, NULL, NULL);
           fprintf(outfile, pst, value);                  
          }
      }
	 }
	if (in_list(get_parameter_l("namestype"), 2, NAMES_C50, NAMES_RIPPER))
  	fprintf(outfile,".\n");
	else
			fprintf(outfile,"\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x7a160, %rsp          # imm = 0x7A160
movb %sil, %al
movq %rdi, -0x8(%rbp)
movb %al, -0x9(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
leaq 0x39e9a0(%rip), %rax    # 0x3e1f74
cmpl $0x0, (%rax)
jne 0x4390d
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
cmpl 0x1bc(%rcx), %eax
jge 0x437ff
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0x24(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
cmpl $0x0, 0x1c(%rax)
je 0x437ef
movq -0x18(%rbp), %rax
movslq -0x24(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
movl 0x30f08(%rax,%rcx), %eax
movq %rax, -0x7a158(%rbp)
subq $0x4, %rax
ja 0x437c5
movq -0x7a158(%rbp), %rax
leaq 0xa1f7e(%rip), %rcx     # 0xe55cc
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x20(%rbp), %rax
movq (%rax), %rax
movslq -0x24(%rbp), %rcx
cmpl $0x75bcd15, (%rax,%rcx,8) # imm = 0x75BCD15
jne 0x43683
movq -0x8(%rbp), %rdi
movsbl -0x9(%rbp), %edx
leaq 0xa1f8b(%rip), %rsi     # 0xe5605
movb $0x0, %al
callq 0x4280
jmp 0x436a7
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movq (%rax), %rax
movslq -0x24(%rbp), %rcx
movl (%rax,%rcx,8), %edx
movsbl -0x9(%rbp), %ecx
leaq 0x9fb4b(%rip), %rsi     # 0xe31eb
movb $0x0, %al
callq 0x4280
jmp 0x437ed
movq -0x20(%rbp), %rax
movq (%rax), %rax
movslq -0x24(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsd 0x9f2d4(%rip), %xmm1    # 0xe2998
ucomisd %xmm1, %xmm0
jne 0x436e4
jp 0x436e4
movq -0x8(%rbp), %rdi
movsbl -0x9(%rbp), %edx
leaq 0xa1f2a(%rip), %rsi     # 0xe5605
movb $0x0, %al
callq 0x4280
jmp 0x4370a
movq -0x8(%rbp), %rdi
movq -0x20(%rbp), %rax
movq (%rax), %rax
movslq -0x24(%rbp), %rcx
movsd (%rax,%rcx,8), %xmm0
movsbl -0x9(%rbp), %edx
leaq 0xa1f06(%rip), %rsi     # 0xe5609
movb $0x1, %al
callq 0x4280
jmp 0x437ed
leaq 0xa0729(%rip), %rdi     # 0xe3e3f
callq 0x792b0
movl %eax, %edi
movl $0x3, %ecx
movl $0x1, %edx
movl $0x4, %r8d
movl %ecx, %esi
movb $0x0, %al
callq 0x53e40
cmpl $0x0, %eax
je 0x4375d
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0x24(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
cmpl $0x3, (%rax)
jne 0x4375d
jmp 0x437f1
movq -0x20(%rbp), %rax
movq (%rax), %rax
movslq -0x24(%rbp), %rcx
movl (%rax,%rcx,8), %eax
movl %eax, -0x28(%rbp)
cmpl $-0x1, -0x28(%rbp)
jne 0x4378c
movq -0x8(%rbp), %rdi
movsbl -0x9(%rbp), %edx
leaq 0xa1e82(%rip), %rsi     # 0xe5605
movb $0x0, %al
callq 0x4280
jmp 0x437c3
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0x24(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movslq -0x28(%rbp), %rcx
movq 0x20(%rax,%rcx,8), %rdx
movsbl -0x9(%rbp), %ecx
leaq 0x9fa34(%rip), %rsi     # 0xe31f0
movb $0x0, %al
callq 0x4280
jmp 0x437ed
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0x24(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movl (%rax), %esi
leaq 0x9f808(%rip), %rdi     # 0xe2fee
movb $0x0, %al
callq 0x4030
jmp 0x437ef
jmp 0x437f1
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x435e4
movq -0x18(%rbp), %rax
cmpl $0x0, 0x10(%rax)
je 0x43908
movq -0x20(%rbp), %rdi
callq 0x43530
movl %eax, -0x28(%rbp)
cmpl $-0x1, -0x28(%rbp)
je 0x43906
leaq 0xa0615(%rip), %rdi     # 0xe3e3f
callq 0x792b0
movl %eax, %edi
movl $0x3, %ecx
movl $0x1, %edx
movl $0x4, %r8d
movl %ecx, %esi
movb $0x0, %al
callq 0x53e40
cmpl $0x0, %eax
je 0x43906
leaq 0xa05e5(%rip), %rdi     # 0xe3e3f
callq 0x792b0
cmpl $0x1, %eax
jne 0x438a0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movq -0x18(%rbp), %rcx
movslq 0x1407128(%rcx), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movslq -0x28(%rbp), %rcx
movq 0x20(%rax,%rcx,8), %rdx
leaq 0xa1d7a(%rip), %rsi     # 0xe5611
movb $0x0, %al
callq 0x4280
jmp 0x43904
leaq 0xa0598(%rip), %rdi     # 0xe3e3f
callq 0x792b0
cmpl $0x3, %eax
jne 0x438ed
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movq -0x18(%rbp), %rcx
movslq 0x1407128(%rcx), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movslq -0x28(%rbp), %rcx
movq 0x20(%rax,%rcx,8), %rdx
leaq 0xa11b4(%rip), %rsi     # 0xe4a98
movb $0x0, %al
callq 0x4280
jmp 0x43902
movq -0x8(%rbp), %rdi
movl -0x28(%rbp), %edx
leaq 0xa996a(%rip), %rsi     # 0xed265
movb $0x0, %al
callq 0x4280
jmp 0x43904
jmp 0x43906
jmp 0x43908
jmp 0x43cc6
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
movl 0x1c0(%rcx), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x43a1e
movq -0x18(%rbp), %rax
movslq -0x24(%rbp), %rcx
cmpl $0x0, 0x18864(%rax,%rcx,4)
je 0x43a0e
movq -0x20(%rbp), %rdi
movl -0x24(%rbp), %esi
callq 0x42c40
movsd %xmm0, -0x30(%rbp)
movsd -0x30(%rbp), %xmm0
movsd 0x9f038(%rip), %xmm1    # 0xe2998
ucomisd %xmm1, %xmm0
jne 0x43983
jp 0x43983
movq -0x8(%rbp), %rdi
movsbl -0x9(%rbp), %edx
leaq 0xa1c8e(%rip), %rsi     # 0xe5605
movb $0x0, %al
callq 0x4280
jmp 0x43a0c
leaq 0xa04b5(%rip), %rdi     # 0xe3e3f
callq 0x792b0
cmpl $0x5, %eax
jne 0x439d8
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
movl 0x1c0(%rcx), %ecx
subl $0x2, %ecx
cmpl %ecx, %eax
jne 0x439d8
leaq -0x7a150(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
leaq 0xa1c5b(%rip), %rdx     # 0xe5615
callq 0x53310
movq -0x8(%rbp), %rdi
leaq -0x7a150(%rbp), %rsi
movsd -0x30(%rbp), %xmm0
movb $0x1, %al
callq 0x4280
jmp 0x43a0a
leaq -0x7a150(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
leaq 0xa2f2e(%rip), %rdx     # 0xe6918
callq 0x53310
movq -0x8(%rbp), %rdi
leaq -0x7a150(%rbp), %rsi
movsd -0x30(%rbp), %xmm0
movsbl -0x9(%rbp), %edx
movb $0x1, %al
callq 0x4280
jmp 0x43a0c
jmp 0x43a0e
jmp 0x43a10
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x43914
movq -0x18(%rbp), %rax
cmpl $0x0, 0x10(%rax)
je 0x43c23
movq -0x20(%rbp), %rdi
callq 0x43530
movl %eax, -0x28(%rbp)
leaq 0xa0400(%rip), %rdi     # 0xe3e3f
callq 0x792b0
movl %eax, %edi
movl $0x2, %esi
movl $0x1, %edx
movl $0x3, %ecx
movb $0x0, %al
callq 0x53e40
cmpl $0x0, %eax
je 0x43a70
leaq 0xc1dd8(%rip), %rax     # 0x105840
movq (%rax), %rdi
callq 0x1a880
leaq 0xa03c8(%rip), %rdi     # 0xe3e3f
callq 0x792b0
cmpl $0x1, %eax
jne 0x43ac0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movq -0x18(%rbp), %rcx
movslq 0x1407128(%rcx), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movslq -0x28(%rbp), %rcx
movq 0x20(%rax,%rcx,8), %rdx
leaq 0xa1b5d(%rip), %rsi     # 0xe5611
movb $0x0, %al
callq 0x4280
jmp 0x43be6
leaq 0xa0378(%rip), %rdi     # 0xe3e3f
callq 0x792b0
cmpl $0x3, %eax
jne 0x43b10
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movq -0x18(%rbp), %rcx
movslq 0x1407128(%rcx), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movslq -0x28(%rbp), %rcx
movq 0x20(%rax,%rcx,8), %rdx
leaq 0xa0f94(%rip), %rsi     # 0xe4a98
movb $0x0, %al
callq 0x4280
jmp 0x43be4
leaq 0xa0328(%rip), %rdi     # 0xe3e3f
callq 0x792b0
movl %eax, %edi
movl $0x3, %esi
xorl %edx, %edx
movl $0x2, %ecx
movl $0x4, %r8d
movb $0x0, %al
callq 0x53e40
cmpl $0x0, %eax
je 0x43b56
movq -0x8(%rbp), %rdi
movl -0x28(%rbp), %edx
leaq 0xa971b(%rip), %rsi     # 0xed265
movb $0x0, %al
callq 0x4280
jmp 0x43be2
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
movq -0x18(%rbp), %rcx
movl 0x10(%rcx), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x43ba9
movl -0x24(%rbp), %eax
cmpl -0x28(%rbp), %eax
jne 0x43b8a
movq -0x8(%rbp), %rdi
leaq 0xa1a97(%rip), %rsi     # 0xe5618
movb $0x0, %al
callq 0x4280
jmp 0x43b9c
movq -0x8(%rbp), %rdi
leaq 0xa1a87(%rip), %rsi     # 0xe561c
movb $0x0, %al
callq 0x4280
jmp 0x43b9e
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x43b5d
movl -0x28(%rbp), %eax
movq -0x18(%rbp), %rcx
movl 0x10(%rcx), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jne 0x43bce
movq -0x8(%rbp), %rdi
leaq 0xa1a5b(%rip), %rsi     # 0xe5620
movb $0x0, %al
callq 0x4280
jmp 0x43be0
movq -0x8(%rbp), %rdi
leaq 0xa1a4b(%rip), %rsi     # 0xe5624
movb $0x0, %al
callq 0x4280
jmp 0x43be2
jmp 0x43be4
jmp 0x43be6
leaq 0xa0252(%rip), %rdi     # 0xe3e3f
callq 0x792b0
movl %eax, %edi
movl $0x2, %esi
movl $0x1, %edx
movl $0x3, %ecx
movb $0x0, %al
callq 0x53e40
cmpl $0x0, %eax
je 0x43c1e
leaq 0xc1c2a(%rip), %rax     # 0x105840
movq (%rax), %rdi
callq 0x1a880
jmp 0x43cc4
movq -0x18(%rbp), %rax
cmpl $-0x1, 0x1407128(%rax)
je 0x43cc2
movq -0x20(%rbp), %rdi
callq 0x43580
movsd %xmm0, -0x30(%rbp)
leaq 0xa01f6(%rip), %rdi     # 0xe3e3f
callq 0x792b0
cmpl $0x5, %eax
jne 0x43c83
leaq -0x7a150(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
leaq 0xa19bd(%rip), %rdx     # 0xe5622
callq 0x53310
movq -0x8(%rbp), %rdi
leaq -0x7a150(%rbp), %rsi
movsd -0x30(%rbp), %xmm0
movb $0x1, %al
callq 0x4280
jmp 0x43cc0
leaq 0xa01b5(%rip), %rdi     # 0xe3e3f
callq 0x792b0
cmpl $0x3, %eax
jne 0x43cbe
leaq -0x7a150(%rbp), %rdi
xorl %eax, %eax
movl %eax, %edx
movq %rdx, %rsi
callq 0x53310
movq -0x8(%rbp), %rdi
leaq -0x7a150(%rbp), %rsi
movsd -0x30(%rbp), %xmm0
movb $0x1, %al
callq 0x4280
jmp 0x43cc0
jmp 0x43cc2
jmp 0x43cc4
jmp 0x43cc6
leaq 0xa0172(%rip), %rdi     # 0xe3e3f
callq 0x792b0
movl %eax, %edi
movl $0x2, %esi
xorl %edx, %edx
movl $0x1, %ecx
movb $0x0, %al
callq 0x53e40
cmpl $0x0, %eax
je 0x43d00
movq -0x8(%rbp), %rdi
leaq 0xa146d(%rip), %rsi     # 0xe5164
movb $0x0, %al
callq 0x4280
jmp 0x43d12
movq -0x8(%rbp), %rdi
leaq 0xa2030(%rip), %rsi     # 0xe5d3b
movb $0x0, %al
callq 0x4280
addq $0x7a160, %rsp          # imm = 0x7A160
popq %rbp
retq
nopl (%rax,%rax)