// File: /workspace/github_c_makefile_star2_O0/olcaytaner[P]Isell/dataset.c
// Function: copy_of_dataset
Datasetptr copy_of_dataset(Datasetptr d)
{
 int i, j;
 Datasetptr tmp;
 tmp = safemalloc(sizeof(Dataset), "copy_of_dataset", 2);
 tmp->traincount = d->traincount;
 tmp->storetype = d->storetype;
 tmp->sigma = d->sigma;
 tmp->separator = d->separator;
 tmp->newclassdefno = d->newclassdefno;
 tmp->name = strcopy(tmp->name, d->name);
 tmp->multifeaturecount = d->multifeaturecount;
 tmp->file = strcopy(tmp->file, d->file);
 tmp->featurecount = d->featurecount;
 tmp->datacount = d->datacount;
 tmp->classno = d->classno;
 tmp->classdefno = d->classdefno;
 tmp->baseerror = d->baseerror;
 tmp->allfeatures = d->allfeatures;
 tmp->active = d->active;
 for (i = 0; i < d->featurecount; i++)
  {
   tmp->selected[i] = d->selected[i];
   tmp->availability[i] = d->availability[i];
   tmp->features[i].max = d->features[i].max;
   tmp->features[i].min = d->features[i].min;
   tmp->features[i].oldtype = d->features[i].oldtype;
   tmp->features[i].type = d->features[i].type;
   tmp->features[i].valuecount = d->features[i].valuecount;
   for (j = 0; j < d->features[i].valuecount; j++)
     tmp->features[i].strings[j] = strcopy(tmp->features[i].strings[j], d->features[i].strings[j]);
  }
 for (i = 0; i < d->classno; i++)
  {
   tmp->classes[i] = strcopy(tmp->classes[i], d->classes[i]);
   tmp->classcounts[i] = d->classcounts[i];
  }
 return tmp;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movl $0x1407278, %edi        # imm = 0x1407278
leaq 0xc872e(%rip), %rsi     # 0xe3186
movl $0x2, %edx
callq 0x52d70
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movl 0x1407124(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1407124(%rax)
movq -0x8(%rbp), %rax
movl 0x140713c(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x140713c(%rax)
movq -0x8(%rbp), %rax
movsd 0x1407130(%rax), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x1407130(%rax)
movq -0x8(%rbp), %rax
movb 0x1a8(%rax), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x1a8(%rax)
movq -0x8(%rbp), %rax
movl 0x1407138(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1407138(%rax)
movq -0x18(%rbp), %rax
movq 0x8(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x8(%rax), %rsi
callq 0x54ba0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
movl 0x1c0(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1c0(%rax)
movq -0x18(%rbp), %rax
movq 0x1b0(%rax), %rdi
movq -0x8(%rbp), %rax
movq 0x1b0(%rax), %rsi
callq 0x54ba0
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x1b0(%rax)
movq -0x8(%rbp), %rax
movl 0x1bc(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1bc(%rax)
movq -0x8(%rbp), %rax
movl 0x1407120(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1407120(%rax)
movq -0x8(%rbp), %rax
movl 0x10(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x10(%rax)
movq -0x8(%rbp), %rax
movl 0x1407128(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1407128(%rax)
movq -0x8(%rbp), %rax
movsd 0x1407208(%rax), %xmm0
movq -0x18(%rbp), %rax
movsd %xmm0, 0x1407208(%rax)
movq -0x8(%rbp), %rax
movl 0x1b8(%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x1b8(%rax)
movq -0x8(%rbp), %rax
movl (%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, (%rax)
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x1bc(%rcx), %eax
jge 0x1adc6
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movl 0x18864(%rax,%rcx,4), %edx
movq -0x18(%rbp), %rax
movslq -0xc(%rbp), %rcx
movl %edx, 0x18864(%rax,%rcx,4)
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movl 0x1c4(%rax,%rcx,4), %edx
movq -0x18(%rbp), %rax
movslq -0xc(%rbp), %rcx
movl %edx, 0x1c4(%rax,%rcx,4)
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movq -0x8(%rbp), %rcx
addq $0x30f08, %rcx          # imm = 0x30F08
movslq -0xc(%rbp), %rdx
imulq $0x340, %rdx, %rdx      # imm = 0x340
addq %rdx, %rcx
movq 0x10(%rcx), %rcx
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movq -0x8(%rbp), %rcx
addq $0x30f08, %rcx          # imm = 0x30F08
movslq -0xc(%rbp), %rdx
imulq $0x340, %rdx, %rdx      # imm = 0x340
addq %rdx, %rcx
movq 0x8(%rcx), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movl 0x4(%rax), %ecx
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rdx
imulq $0x340, %rdx, %rdx      # imm = 0x340
addq %rdx, %rax
movl %ecx, 0x4(%rax)
movq -0x8(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movl (%rax), %ecx
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rdx
imulq $0x340, %rdx, %rdx      # imm = 0x340
addq %rdx, %rax
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movl 0x18(%rax), %ecx
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rdx
imulq $0x340, %rdx, %rdx      # imm = 0x340
addq %rdx, %rax
movl %ecx, 0x18(%rax)
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movq -0x8(%rbp), %rcx
addq $0x30f08, %rcx          # imm = 0x30F08
movslq -0xc(%rbp), %rdx
imulq $0x340, %rdx, %rdx      # imm = 0x340
addq %rdx, %rcx
cmpl 0x18(%rcx), %eax
jge 0x1adb6
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movslq -0x10(%rbp), %rcx
movq 0x20(%rax,%rcx,8), %rdi
movq -0x8(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movslq -0x10(%rbp), %rcx
movq 0x20(%rax,%rcx,8), %rsi
callq 0x54ba0
movq %rax, %rdx
movq -0x18(%rbp), %rax
addq $0x30f08, %rax          # imm = 0x30F08
movslq -0xc(%rbp), %rcx
imulq $0x340, %rcx, %rcx      # imm = 0x340
addq %rcx, %rax
movslq -0x10(%rbp), %rcx
movq %rdx, 0x20(%rax,%rcx,8)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x1ad1c
jmp 0x1adb8
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x1abb4
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movq -0x8(%rbp), %rcx
cmpl 0x10(%rcx), %eax
jge 0x1ae31
movq -0x18(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq 0x18(%rax,%rcx,8), %rdi
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq 0x18(%rax,%rcx,8), %rsi
callq 0x54ba0
movq %rax, %rdx
movq -0x18(%rbp), %rax
movslq -0xc(%rbp), %rcx
movq %rdx, 0x18(%rax,%rcx,8)
movq -0x8(%rbp), %rax
movslq -0xc(%rbp), %rcx
movl 0x1407140(%rax,%rcx,4), %edx
movq -0x18(%rbp), %rax
movslq -0xc(%rbp), %rcx
movl %edx, 0x1407140(%rax,%rcx,4)
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x1adcd
movq -0x18(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)