// File: /workspace/github_c_makefile_star2_O3/olcaytaner[P]Isell/svm.c
// Function: solve_one_class
void solve_one_class(Svm_problem prob, Svm_parameter param, double *alpha, Solutioninfoptr si)
{
	/*Last Changed 29.04.2005*/
	Solverptr s;
	int l = prob.l, i, n;
	double *zeros; 
	signed char *ones; 
 zeros = safemalloc(l * sizeof(double), "solve_one_class", 5);
	ones = safemalloc(l * sizeof(signed char), "solve_one_class", 6);
	s = safemalloc(sizeof(Solver), "solve_one_class", 7);
 n = (int)(param.nu * prob.l);	
	for (i = 0; i < n; i++)
		 alpha[i] = 1;
	alpha[n] = param.nu * prob.l - n;
	for (i = n + 1; i < l; i++)
		 alpha[i] = 0;
	for (i = 0; i < l; i++)
	 {
 		zeros[i] = 0;
 		ones[i] = 1;
	 }
	solve(s, l, QONE, zeros, ones, alpha, 1.0, 1.0, si, prob, param, 0);
	safe_free(s);
	safe_free(zeros);
	safe_free(ones);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x88, %rsp
movq %rsi, %r13
movq %rdi, %rbx
movslq 0xc0(%rsp), %r15
leaq (,%r15,8), %rdi
leaq 0x20efa(%rip), %rbp     # 0xb1a05
movq %rbp, %rsi
movl $0x5, %edx
callq 0x3a0e1
movq %rax, %r14
movq %r15, %rdi
movq %rbp, %rsi
movl $0x6, %edx
callq 0x3a0e1
movq %rax, %r12
movl $0x80, %edi
movq %rbp, %rsi
movl $0x7, %edx
callq 0x3a0e1
cvtsi2sd %r15d, %xmm0
mulsd 0x120(%rsp), %xmm0
movq %rax, %rbp
cvttsd2si %xmm0, %eax
testl %eax, %eax
jle 0x90bfb
movl %eax, %edx
leal 0x1(%rax), %ecx
decq %rdx
movq %rdx, %xmm1
pshufd $0x44, %xmm1, %xmm1     # xmm1 = xmm1[0,1,0,1]
shrl %ecx
shlq $0x4, %rcx
movdqa 0x158c3(%rip), %xmm2    # 0xa6440
xorl %edx, %edx
movdqa 0x158c9(%rip), %xmm3    # 0xa6450
pxor %xmm3, %xmm1
movabsq $0x3ff0000000000000, %rsi # imm = 0x3FF0000000000000
pcmpeqd %xmm4, %xmm4
movdqa 0x158ef(%rip), %xmm5    # 0xa6490
movdqa %xmm2, %xmm6
pxor %xmm3, %xmm6
movdqa %xmm6, %xmm7
pcmpgtd %xmm1, %xmm7
pcmpeqd %xmm1, %xmm6
pshufd $0xf5, %xmm6, %xmm8     # xmm8 = xmm6[1,1,3,3]
pand %xmm7, %xmm8
pshufd $0xf5, %xmm7, %xmm6     # xmm6 = xmm7[1,1,3,3]
por %xmm8, %xmm6
movd %xmm6, %edi
notl %edi
testb $0x1, %dil
je 0x90bda
movq %rsi, (%rbx,%rdx)
pxor %xmm4, %xmm6
pextrw $0x4, %xmm6, %edi
testb $0x1, %dil
je 0x90bee
movq %rsi, 0x8(%rbx,%rdx)
paddq %xmm5, %xmm2
addq $0x10, %rdx
cmpq %rdx, %rcx
jne 0x90ba1
xorps %xmm1, %xmm1
cvtsi2sd %eax, %xmm1
subsd %xmm1, %xmm0
movslq %eax, %rcx
movsd %xmm0, (%rbx,%rcx,8)
leal 0x1(%rax), %ecx
cmpl %r15d, %ecx
jge 0x90c34
movslq %ecx, %rcx
leaq (%rbx,%rcx,8), %rdi
movl %r15d, %ecx
subl %eax, %ecx
addl $-0x2, %ecx
leaq 0x8(,%rcx,8), %rdx
xorl %esi, %esi
callq 0x4050
leaq 0xe0(%rsp), %rsi
leaq 0xc0(%rsp), %rax
testl %r15d, %r15d
jle 0x90c60
xorl %ecx, %ecx
movq $0x0, (%r14,%rcx,8)
movb $0x1, (%r12,%rcx)
incq %rcx
cmpq %rcx, %r15
jne 0x90c4b
leaq 0x28(%rsp), %rdi
movl $0xb, %ecx
rep  movsq (%rsi), %es:(%rdi)
movups (%rax), %xmm0
movups 0x10(%rax), %xmm1
movups %xmm1, 0x18(%rsp)
movups %xmm0, 0x8(%rsp)
movq %r13, (%rsp)
movl $0x0, 0x80(%rsp)
movsd 0x1488b(%rip), %xmm0    # 0xa5520
movq %rbp, %rdi
movl %r15d, %esi
movl $0x2, %edx
movq %r14, %rcx
movq %r12, %r8
movq %rbx, %r9
movaps %xmm0, %xmm1
callq 0x96b2b
movq %rbp, %rdi
callq 0x3a180
movq %r14, %rdi
callq 0x3a180
movq %r12, %rdi
addq $0x88, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x3a180