// File: /workspace/github_c_makefile_star2_O2/mishun[P]plantri/plantri.c
// Function: write_digits
static void
write_digits(FILE *f, int doflip)
 
/* Write in alphabetic format.  Always write in next direction,
   and if doflip != 0 also write in prev direction.  This output
   procedure uses the internal numbering of vertices and is 
   intended for debugging purposes. */
{
    int i,k;
    EDGE *ex,*e;
    unsigned char code[2*MAXN+2*MAXE+9];
    int nvsize;
    int lastnum,w;
    int nbop,nbtot,nbpart;
    EDGE **nb0,**nb,**nblim;
#define CODE0(x) ((x)<10 ? '0'+(x) : 'a'+(x)-10)
 
    if (oneswitch)
    {
	nbop = gotone_nbop;
	nbtot = gotone_nbtot;
	nbpart = (nbop==0 || nbop==nbtot ? nbtot : nbop);
	fprintf(f,"%d %d %d %d %d\n",nv,ne,(doflip?2:1),nbpart,nbtot);

	nb0 = (EDGE**) numbering[0];
	nblim = (EDGE**) numbering[doflip ? nbpart : nbtot];

	if (nblim != (EDGE**) numbering[1])
	    for (nb = nb0; nb < nblim; nb += MAXE)
	    {
		for (i = 0; i < ne; ++i)
		    fprintf(f," %c%c",CODE0(nb[i]->start),CODE0(nb[i]->end));
		fprintf(f,"\n");
	    }
    }
    
    if (nv >= 10) 
    {
        code[0] = '0' + nv/10;
        code[1] = '0' + nv%10;
        code[2] = ' ';
        nvsize = k = 3;
    }
    else
    {
        code[0] = '0' + nv;
        code[1] = ' ';
        nvsize = k = 2;
    }

    if (missing_vertex < 0) lastnum = nv-1;
    else                    lastnum = nv;
 
    for (i = 0; i <= lastnum; ++i)
    {
	if (i != missing_vertex)
	{
            e = ex = firstedge[i];
            do
            {
		w = e->end;
		code[k++] = CODE0(w);
                e = e->next;
            }
            while (e != ex);
            code[k++] = ',';
	}
    }
    code[k-1] = '\n';
 
    if (doflip)
    {
        for (i = 0; i <nvsize; ++i) code[k++] = code[i];
    
        for (i = 0; i <= lastnum; ++i)
        {
	    if (i != missing_vertex)
            {
                e = ex = firstedge[i];
                do
                {
                    w = e->end;
		    code[k++] = CODE0(w);
                    e = e->prev;
                }
                while (e != ex);
                code[k++] = ',';
	    }
        }
    }
    code[k-1] = '\n';
 
    if (fwrite(code,(size_t)1,(size_t)k,f) != (size_t)k)
    {
        fprintf(stderr,">E %s: fwrite() failed\n",cmdname);
        perror(">E ");
        exit(1);
    }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x388, %rsp            # imm = 0x388
movl %esi, 0xc(%rsp)
movq %rdi, %rbx
cmpb $0x1, 0x1ac7e(%rip)     # 0x24244
jne 0x961a
movl 0x239029(%rip), %r9d    # 0x2425f8
movl 0x239027(%rip), %eax    # 0x2425fc
testl %r9d, %r9d
cmovel %eax, %r9d
movl 0x23901e(%rip), %edx    # 0x242600
movl 0x23901c(%rip), %ecx    # 0x242604
xorl %r8d, %r8d
cmpl $0x0, 0xc(%rsp)
setne %r8b
movl %r9d, %ebp
cmovel %eax, %ebp
incl %r8d
movl %eax, (%rsp)
leaq 0x14ec4(%rip), %rsi     # 0x1e4cb
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1050
cmpl $0x1, %ebp
jne 0x97a8
movl 0x238fe0(%rip), %ecx    # 0x242600
cmpl $0xa, %ecx
jl 0x963c
pushq $0xa
popq %rsi
movl %ecx, %eax
xorl %edx, %edx
divl %esi
orb $0x30, %dl
movb $0x20, 0x12(%rsp)
pushq $0x3
popq %r8
jmp 0x9644
pushq $0x2
popq %r8
movb $0x20, %dl
movl %ecx, %eax
movabsq $0x100000000, %rsi      # imm = 0x100000000
addb $0x30, %al
movb %al, 0x10(%rsp)
movb %dl, 0x11(%rsp)
movl 0x1aa1a(%rip), %eax     # 0x24078
movl %eax, %edx
sarl $0x1f, %edx
addl %ecx, %edx
movslq %edx, %rdx
xorl %r10d, %r10d
leaq 0x1c36e(%rip), %rdi     # 0x259e0
movl %r8d, %ecx
movslq %ecx, %r9
cmpq %rdx, %r10
jg 0x96d2
cmpq %rax, %r10
je 0x96cd
movq (%rdi,%r10,8), %r11
leal 0x1(%r9), %ecx
leaq (%rsp,%r9), %r14
addq $0x10, %r14
shlq $0x20, %r9
movq %r11, %r15
movl 0x4(%r15), %r12d
leal 0x57(%r12), %ebp
leal 0x30(%r12), %r13d
cmpl $0xa, %r12d
cmovgel %ebp, %r13d
movb %r13b, (%r14)
movq 0x18(%r15), %r15
incl %ecx
incq %r14
addq %rsi, %r9
cmpq %r11, %r15
jne 0x9699
sarq $0x20, %r9
movb $0x2c, 0x10(%rsp,%r9)
incq %r10
jmp 0x9675
movb $0xa, 0xf(%rsp,%r9)
cmpl $0x0, 0xc(%rsp)
je 0x976e
movl %r8d, %r8d
negq %r8
leaq 0x10(%rsp), %r11
xorl %r10d, %r10d
cmpq %r10, %r8
je 0x9705
movb (%r11), %bpl
movb %bpl, (%r11,%r9)
decq %r10
incq %r11
jmp 0x96f1
subl %r10d, %ecx
xorl %r8d, %r8d
cmpq %rdx, %r8
jg 0x9766
cmpq %rax, %r8
je 0x9761
movq (%rdi,%r8,8), %r10
movslq %ecx, %r9
leal 0x1(%r9), %ecx
leaq (%rsp,%r9), %r11
addq $0x10, %r11
shlq $0x20, %r9
movq %r10, %r14
movl 0x4(%r14), %r15d
leal 0x57(%r15), %ebp
leal 0x30(%r15), %r12d
cmpl $0xa, %r15d
cmovgel %ebp, %r12d
movb %r12b, (%r11)
movq 0x10(%r14), %r14
incl %ecx
incq %r11
addq %rsi, %r9
cmpq %r10, %r14
jne 0x972f
sarq $0x20, %r9
movb $0x2c, 0x10(%rsp,%r9)
incq %r8
jmp 0x970b
leal -0x1(%rcx), %eax
movslq %eax, %r9
jmp 0x9771
decq %r9
movb $0xa, 0x10(%rsp,%r9)
movslq %ecx, %r14
leaq 0x10(%rsp), %rdi
pushq $0x1
popq %rsi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x10c0
cmpq %r14, %rax
jne 0x9826
addq $0x388, %rsp            # imm = 0x388
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movslq %ebp, %rax
imulq $0xba0, %rax, %r12      # imm = 0xBA0
leaq 0x1c527(%rip), %r13     # 0x25ce0
addq %r13, %r12
leaq 0x14d18(%rip), %r14     # 0x1e4db
pushq $0xa
popq %r15
cmpq %r12, %r13
jae 0x961a
xorl %ebp, %ebp
movslq 0x238e2b(%rip), %rax    # 0x242604
cmpq %rax, %rbp
jge 0x9812
movq (%r13,%rbp,8), %rax
movl (%rax), %ecx
movl 0x4(%rax), %eax
leal 0x57(%rcx), %esi
leal 0x30(%rcx), %edx
cmpl $0xa, %ecx
cmovgel %esi, %edx
leal 0x57(%rax), %esi
leal 0x30(%rax), %ecx
cmpl $0xa, %eax
cmovgel %esi, %ecx
movq %rbx, %rdi
movq %r14, %rsi
xorl %eax, %eax
callq 0x1050
incq %rbp
jmp 0x97d2
movl %r15d, %edi
movq %rbx, %rsi
callq 0x1030
addq $0xba0, %r13            # imm = 0xBA0
jmp 0x97c7
movq 0x1a7cb(%rip), %rax     # 0x23ff8
movq (%rax), %rdi
movq 0x1a879(%rip), %rdx     # 0x240b0
leaq 0x14ca3(%rip), %rsi     # 0x1e4e1
xorl %eax, %eax
callq 0x1050
leaq 0x14c29(%rip), %rdi     # 0x1e475
callq 0x1090
pushq $0x1
popq %rdi
callq 0x10b0