// File: /workspace/github_c_makefile_star2_O0/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
movq %rsp, %rbp
subq $0x400, %rsp            # imm = 0x400
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
cmpl $0x0, 0x328fb(%rip)     # 0x3c264
je 0x9bba
movl 0x250ca3(%rip), %eax    # 0x25a618
movl %eax, -0x3b0(%rbp)
movl 0x250c9b(%rip), %eax    # 0x25a61c
movl %eax, -0x3b4(%rbp)
cmpl $0x0, -0x3b0(%rbp)
je 0x999e
movl -0x3b0(%rbp), %eax
cmpl -0x3b4(%rbp), %eax
jne 0x99ac
movl -0x3b4(%rbp), %eax
movl %eax, -0x3d4(%rbp)
jmp 0x99b8
movl -0x3b0(%rbp), %eax
movl %eax, -0x3d4(%rbp)
movl -0x3d4(%rbp), %eax
movl %eax, -0x3b8(%rbp)
movq -0x8(%rbp), %rdi
movl 0x250c52(%rip), %edx    # 0x25a620
movl 0x250c50(%rip), %ecx    # 0x25a624
movl -0xc(%rbp), %esi
movl $0x1, %r8d
movl $0x2, %eax
cmpl $0x0, %esi
cmovnel %eax, %r8d
movl -0x3b8(%rbp), %r9d
movl -0x3b4(%rbp), %eax
leaq 0x2e9fd(%rip), %rsi     # 0x383fa
movl %eax, (%rsp)
movb $0x0, %al
callq 0x1060
leaq 0x342f2(%rip), %rax     # 0x3dd00
movq %rax, -0x3c0(%rbp)
cmpl $0x0, -0xc(%rbp)
je 0x9a29
movl -0x3b8(%rbp), %eax
movl %eax, -0x3d8(%rbp)
jmp 0x9a35
movl -0x3b4(%rbp), %eax
movl %eax, -0x3d8(%rbp)
movl -0x3d8(%rbp), %eax
movslq %eax, %rcx
leaq 0x342bb(%rip), %rax     # 0x3dd00
imulq $0xba0, %rcx, %rcx      # imm = 0xBA0
addq %rcx, %rax
movq %rax, -0x3d0(%rbp)
leaq 0x342a3(%rip), %rax     # 0x3dd00
addq $0xba0, %rax            # imm = 0xBA0
cmpq %rax, -0x3d0(%rbp)
je 0x9bb8
movq -0x3c0(%rbp), %rax
movq %rax, -0x3c8(%rbp)
movq -0x3c8(%rbp), %rax
cmpq -0x3d0(%rbp), %rax
jae 0x9bb6
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl 0x250b82(%rip), %eax    # 0x25a624
jge 0x9b8b
movq -0x8(%rbp), %rax
movq %rax, -0x3e0(%rbp)
movq -0x3c8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpl $0xa, (%rax)
jge 0x9ae3
movq -0x3c8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl (%rax), %eax
addl $0x30, %eax
movl %eax, -0x3e4(%rbp)
jmp 0x9b00
movq -0x3c8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl (%rax), %eax
addl $0x61, %eax
subl $0xa, %eax
movl %eax, -0x3e4(%rbp)
movl -0x3e4(%rbp), %eax
movl %eax, -0x3e8(%rbp)
movq -0x3c8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
cmpl $0xa, 0x4(%rax)
jge 0x9b3e
movq -0x3c8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl 0x4(%rax), %eax
addl $0x30, %eax
movl %eax, -0x3ec(%rbp)
jmp 0x9b5c
movq -0x3c8(%rbp), %rax
movslq -0x10(%rbp), %rcx
movq (%rax,%rcx,8), %rax
movl 0x4(%rax), %eax
addl $0x61, %eax
subl $0xa, %eax
movl %eax, -0x3ec(%rbp)
movl -0x3e8(%rbp), %edx
movq -0x3e0(%rbp), %rdi
movl -0x3ec(%rbp), %ecx
leaq 0x2e894(%rip), %rsi     # 0x3840a
movb $0x0, %al
callq 0x1060
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x9a99
movq -0x8(%rbp), %rdi
leaq 0x2e9e4(%rip), %rsi     # 0x3857a
movb $0x0, %al
callq 0x1060
movq -0x3c8(%rbp), %rax
addq $0xba0, %rax            # imm = 0xBA0
movq %rax, -0x3c8(%rbp)
jmp 0x9a7e
jmp 0x9bb8
jmp 0x9bba
cmpl $0xa, 0x250a5f(%rip)    # 0x25a620
jl 0x9c0d
movl 0x250a57(%rip), %eax    # 0x25a620
movl $0xa, %ecx
cltd
idivl %ecx
addl $0x30, %eax
movb %al, -0x3a0(%rbp)
movl 0x250a40(%rip), %eax    # 0x25a620
movl $0xa, %ecx
cltd
idivl %ecx
addl $0x30, %edx
movb %dl, %al
movb %al, -0x39f(%rbp)
movb $0x20, -0x39e(%rbp)
movl $0x3, -0x14(%rbp)
movl $0x3, -0x3a4(%rbp)
jmp 0x9c34
movl 0x250a0d(%rip), %eax    # 0x25a620
addl $0x30, %eax
movb %al, -0x3a0(%rbp)
movb $0x20, -0x39f(%rbp)
movl $0x2, -0x14(%rbp)
movl $0x2, -0x3a4(%rbp)
cmpl $0x0, 0x32445(%rip)     # 0x3c080
jge 0x9c4e
movl 0x2509dd(%rip), %eax    # 0x25a620
subl $0x1, %eax
movl %eax, -0x3a8(%rbp)
jmp 0x9c5a
movl 0x2509cc(%rip), %eax    # 0x25a620
movl %eax, -0x3a8(%rbp)
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x3a8(%rbp), %eax
jg 0x9d26
movl -0x10(%rbp), %eax
cmpl 0x32407(%rip), %eax     # 0x3c080
je 0x9d16
movslq -0x10(%rbp), %rcx
leaq 0x33d76(%rip), %rax     # 0x3da00
movq (%rax,%rcx,8), %rax
movq %rax, -0x20(%rbp)
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x3ac(%rbp)
cmpl $0xa, -0x3ac(%rbp)
jge 0x9cbd
movl -0x3ac(%rbp), %eax
addl $0x30, %eax
movl %eax, -0x3f0(%rbp)
jmp 0x9ccf
movl -0x3ac(%rbp), %eax
addl $0x61, %eax
subl $0xa, %eax
movl %eax, -0x3f0(%rbp)
movl -0x3f0(%rbp), %eax
movb %al, %cl
movl -0x14(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x14(%rbp)
cltq
movb %cl, -0x3a0(%rbp,%rax)
movq -0x28(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x20(%rbp), %rax
jne 0x9c96
movl -0x14(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x14(%rbp)
cltq
movb $0x2c, -0x3a0(%rbp,%rax)
jmp 0x9d18
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x9c61
movl -0x14(%rbp), %eax
subl $0x1, %eax
cltq
movb $0xa, -0x3a0(%rbp,%rax)
cmpl $0x0, -0xc(%rbp)
je 0x9e4a
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x3a4(%rbp), %eax
jge 0x9d7c
movslq -0x10(%rbp), %rax
movb -0x3a0(%rbp,%rax), %cl
movl -0x14(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x14(%rbp)
cltq
movb %cl, -0x3a0(%rbp,%rax)
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x9d47
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
cmpl -0x3a8(%rbp), %eax
jg 0x9e48
movl -0x10(%rbp), %eax
cmpl 0x322e5(%rip), %eax     # 0x3c080
je 0x9e38
movslq -0x10(%rbp), %rcx
leaq 0x33c54(%rip), %rax     # 0x3da00
movq (%rax,%rcx,8), %rax
movq %rax, -0x20(%rbp)
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movl 0x4(%rax), %eax
movl %eax, -0x3ac(%rbp)
cmpl $0xa, -0x3ac(%rbp)
jge 0x9ddf
movl -0x3ac(%rbp), %eax
addl $0x30, %eax
movl %eax, -0x3f4(%rbp)
jmp 0x9df1
movl -0x3ac(%rbp), %eax
addl $0x61, %eax
subl $0xa, %eax
movl %eax, -0x3f4(%rbp)
movl -0x3f4(%rbp), %eax
movb %al, %cl
movl -0x14(%rbp), %eax
movl %eax, %edx
addl $0x1, %edx
movl %edx, -0x14(%rbp)
cltq
movb %cl, -0x3a0(%rbp,%rax)
movq -0x28(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
cmpq -0x20(%rbp), %rax
jne 0x9db8
movl -0x14(%rbp), %eax
movl %eax, %ecx
addl $0x1, %ecx
movl %ecx, -0x14(%rbp)
cltq
movb $0x2c, -0x3a0(%rbp,%rax)
jmp 0x9e3a
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x9d83
jmp 0x9e4a
movl -0x14(%rbp), %eax
subl $0x1, %eax
cltq
movb $0xa, -0x3a0(%rbp,%rax)
leaq -0x3a0(%rbp), %rdi
movslq -0x14(%rbp), %rdx
movq -0x8(%rbp), %rcx
movl $0x1, %esi
callq 0x10d0
movslq -0x14(%rbp), %rcx
cmpq %rcx, %rax
je 0x9eb1
movq 0x32175(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x32233(%rip), %rdx     # 0x3c0c0
leaq 0x2e57c(%rip), %rsi     # 0x38410
movb $0x0, %al
callq 0x1060
leaq 0x2e502(%rip), %rdi     # 0x383a4
callq 0x10a0
movl $0x1, %edi
callq 0x10c0
addq $0x400, %rsp            # imm = 0x400
popq %rbp
retq
nopw (%rax,%rax)