// File: /workspace/github_c_makefile_star2_O0/markpeerdeman[P]mbemm/src/general/matrix.c
// Function: nn
void nn(int m, intvector nietnul,point po)
/* Zoekt de niet-nul kolommen op en slaat de index van deze kolommen
   op in de vector nietnul en een nul in het andere geval */
{
  int teller1,teller2;
  point thep;
  
  teller1=0; teller2=0;
  thep=(point)point_dll(po,START,0);
  
  while (thep!=(point)NULL)
    { 
      if (thep->type==CNODE)
	{ 
	  if (thep->label*3-3<m) 
	    { 
	      teller1++;	
	      V(nietnul,thep->label*3-3)=teller1;
	      teller1++;	
	      V(nietnul,thep->label*3-2)=teller1;
	      teller1++;	
	      V(nietnul,thep->label*3-1)=teller1;
	    }
	  else 
	    { 
	      teller2++;	
	      V(nietnul,thep->label*3-3)=teller2;  
	      teller2++;	
	      V(nietnul,thep->label*3-2)=teller2;  
	      teller2++;	
	      V(nietnul,thep->label*3-1)=teller2;  
	    }
	}  
      else
	{
	  V(nietnul,thep->label*3-3)=0;
	  V(nietnul,thep->label*3-2)=0;
	  V(nietnul,thep->label*3-1)=0;
	}
      thep=thep->NEXT;
    }
  
  p=teller1; /* aantal niet-nul kolommen in het linkergedeelte */
  q=teller2; /* aantal niet-nul kolommen in het rechtergedeelte */
}

// Assembly:
subq $0x28, %rsp
movl %edi, 0x24(%rsp)
movq %rsi, 0x18(%rsp)
movq %rdx, 0x10(%rsp)
movl $0x0, 0xc(%rsp)
movl $0x0, 0x8(%rsp)
movq 0x10(%rsp), %rdi
xorl %edx, %edx
movl %edx, %esi
callq 0x175c0
movq %rax, (%rsp)
cmpq $0x0, (%rsp)
je 0x17093
movq (%rsp), %rax
cmpl $0xf, 0x14(%rax)
jne 0x17028
movq (%rsp), %rax
imull $0x3, 0x10(%rax), %eax
subl $0x3, %eax
cmpl 0x24(%rsp), %eax
jge 0x16fab
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
movl 0xc(%rsp), %edx
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rsp), %rcx
imull $0x3, 0x10(%rcx), %ecx
subl $0x3, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
movl 0xc(%rsp), %edx
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rsp), %rcx
imull $0x3, 0x10(%rcx), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
movl 0xc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xc(%rsp)
movl 0xc(%rsp), %edx
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rsp), %rcx
imull $0x3, 0x10(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x17026
movl 0x8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x8(%rsp)
movl 0x8(%rsp), %edx
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rsp), %rcx
imull $0x3, 0x10(%rcx), %ecx
subl $0x3, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
movl 0x8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x8(%rsp)
movl 0x8(%rsp), %edx
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rsp), %rcx
imull $0x3, 0x10(%rcx), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
movl 0x8(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x8(%rsp)
movl 0x8(%rsp), %edx
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rsp), %rcx
imull $0x3, 0x10(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
jmp 0x17082
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rsp), %rcx
imull $0x3, 0x10(%rcx), %ecx
subl $0x3, %ecx
movslq %ecx, %rcx
movl $0x0, (%rax,%rcx,4)
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rsp), %rcx
imull $0x3, 0x10(%rcx), %ecx
subl $0x2, %ecx
movslq %ecx, %rcx
movl $0x0, (%rax,%rcx,4)
movq 0x18(%rsp), %rax
movq 0x8(%rax), %rax
movq (%rsp), %rcx
imull $0x3, 0x10(%rcx), %ecx
subl $0x1, %ecx
movslq %ecx, %rcx
movl $0x0, (%rax,%rcx,4)
movq (%rsp), %rax
movq 0x8(%rax), %rax
movq %rax, (%rsp)
jmp 0x16f04
movl 0xc(%rsp), %eax
movl %eax, 0x7823(%rip)      # 0x1e8c0
movl 0x8(%rsp), %eax
movl %eax, 0x781d(%rip)      # 0x1e8c4
addq $0x28, %rsp
retq
nopl (%rax)