// File: /workspace/github_c_makefile_star2_O0/mishun[P]plantri/plantri.c
// Function: polygon_dispatch
static void
polygon_dispatch(void)

/* Triangulations of a polygon.  This works by making a triangulation
   one size bigger, then deleting a vertex.  maxnv is set one size
   larger to achieve this, but put back before this procedure returns. */ 
{
    int i,startingsize,nbtot,nbop,hint;

    if (minconnec <= 0) minconnec = 3;
    if (minimumdeg <= 0) minimumdeg = 3;
    startingsize = 4;

    CHECKRANGE(maxnv,"n",startingsize-1,MAXN-1);
    ++maxnv;
    CHECKRANGE(minconnec,"-c",2,3);
    CHECKRANGE(minimumdeg,"-m",2,3);
    PERROR(polygonsize==1||polygonsize==2||polygonsize>=maxnv,
	"value of -P must be empty or 3..n-1\n");

    INCOMPAT(pswitch,"-P","-p");
    INCOMPAT(bswitch,"-P","-b");
    INCOMPAT(tswitch,"-P","-t");
    INCOMPAT(qswitch,"-P","-q");
    INCOMPAT(edgebound[0]>=0,"-P","-e");
    INCOMPAT(maxfacesize>=0,"-P","-f");
    
    if (minimumdeg < minconnec) minimumdeg = minconnec;

    if (dswitch) strcpy(outtypename,"duals of disk triangulations");
    else         strcpy(outtypename,"disk triangulations");

    open_output_file();

    for (i = 0; i <= MAXN; ++i)
    {
	ZEROBIG(nout_p[i]);
	ZEROBIG(nout_p_op[i]);
    }

    needgroup = TRUE;

    hint = MIN(maxnv <= 12 ? maxnv-1 : maxnv-2, 14);
    initialize_splitting(startingsize,hint,maxnv-1);
    if (splitlevel == 0 && res > 0)
    {
	--maxnv;
	return;
    }

    xconnec = minconnec;

    initialize_triang();
    canon(degree,numbering,&nbtot,&nbop);
    scansimple(nbtot,nbop);

    --maxnv;

    if (vswitch && polygonsize == 0)
    {
        for (i = 0; i <= MAXN; ++i)
        if (!ISZEROBIG(nout_p[i]))
        {
            fprintf(msgfile," With %2d-gon: ",i);
            if (oswitch)
            {
                PRINTBIG(msgfile,nout_p_op[i]);
                fprintf(msgfile," (");
                PRINTBIG(msgfile,nout_p[i]);
                fprintf(msgfile," classes)\n");
            }
            else
            {
                PRINTBIG(msgfile,nout_p[i]);
                fprintf(msgfile,"\n");
            }
        }
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
cmpl $0x0, 0x37c51(%rip)     # 0x3c0b0
jg 0x446b
movl $0x3, 0x37c45(%rip)     # 0x3c0b0
cmpl $0x0, 0x37d46(%rip)     # 0x3c1b8
jg 0x447e
movl $0x3, 0x37d3a(%rip)     # 0x3c1b8
movl $0x4, -0x8(%rbp)
movl 0x37df5(%rip), %eax     # 0x3c280
movl -0x8(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jl 0x449e
cmpl $0x3f, 0x37de4(%rip)    # 0x3c280
jle 0x451c
movq 0x37b53(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x37c11(%rip), %rdx     # 0x3c0c0
leaq 0x33d2c(%rip), %rsi     # 0x381e2
leaq 0x33e3c(%rip), %rcx     # 0x382f9
movb $0x0, %al
callq 0x1060
movl -0x8(%rbp), %eax
subl $0x1, %eax
cmpl $0x3f, %eax
jne 0x44ef
movq 0x37b22(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movl -0x8(%rbp), %edx
subl $0x1, %edx
leaq 0x3419b(%rip), %rsi     # 0x38681
movb $0x0, %al
callq 0x1060
jmp 0x4512
movq 0x37b02(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movl -0x8(%rbp), %edx
subl $0x1, %edx
leaq 0x33cfc(%rip), %rsi     # 0x38202
movl $0x3f, %ecx
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
movl 0x37d5e(%rip), %eax     # 0x3c280
addl $0x1, %eax
movl %eax, 0x37d55(%rip)     # 0x3c280
cmpl $0x2, 0x37b7e(%rip)     # 0x3c0b0
jl 0x453d
cmpl $0x3, 0x37b75(%rip)     # 0x3c0b0
jle 0x458f
movq 0x37ab4(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x37b72(%rip), %rdx     # 0x3c0c0
leaq 0x33c8d(%rip), %rsi     # 0x381e2
leaq 0x33cae(%rip), %rcx     # 0x3820a
movb $0x0, %al
callq 0x1060
movq 0x37a8e(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
leaq 0x33c8e(%rip), %rsi     # 0x38202
movl $0x2, %edx
movl $0x3, %ecx
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x2, 0x37c22(%rip)     # 0x3c1b8
jl 0x45a1
cmpl $0x3, 0x37c19(%rip)     # 0x3c1b8
jle 0x45f3
movq 0x37a50(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x37b0e(%rip), %rdx     # 0x3c0c0
leaq 0x33c29(%rip), %rsi     # 0x381e2
leaq 0x33c4d(%rip), %rcx     # 0x3820d
movb $0x0, %al
callq 0x1060
movq 0x37a2a(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
leaq 0x33c2a(%rip), %rsi     # 0x38202
movl $0x2, %edx
movl $0x3, %ecx
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x1, 0x37bb6(%rip)     # 0x3c1b0
je 0x4613
cmpl $0x2, 0x37bad(%rip)     # 0x3c1b0
je 0x4613
movl 0x37ba5(%rip), %eax     # 0x3c1b0
cmpl 0x37c6f(%rip), %eax     # 0x3c280
jl 0x4643
movq 0x379de(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x37a9c(%rip), %rdx     # 0x3c0c0
leaq 0x33c1f(%rip), %rsi     # 0x3824a
leaq 0x33eed(%rip), %rcx     # 0x3851f
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x0, 0x37b5e(%rip)     # 0x3c1a8
je 0x4683
movq 0x379a5(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x37a63(%rip), %rdx     # 0x3c0c0
leaq 0x33bac(%rip), %rsi     # 0x38210
leaq 0x33bcc(%rip), %rcx     # 0x38237
leaq 0x33fdf(%rip), %r8      # 0x38651
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x0, 0x37b22(%rip)     # 0x3c1ac
je 0x46c3
movq 0x37965(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x37a23(%rip), %rdx     # 0x3c0c0
leaq 0x33b6c(%rip), %rsi     # 0x38210
leaq 0x33b8c(%rip), %rcx     # 0x38237
leaq 0x33e37(%rip), %r8      # 0x384e9
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x0, 0x379ea(%rip)     # 0x3c0b4
je 0x4703
movq 0x37925(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x379e3(%rip), %rdx     # 0x3c0c0
leaq 0x33b2c(%rip), %rsi     # 0x38210
leaq 0x33b4c(%rip), %rcx     # 0x38237
leaq 0x33b4b(%rip), %r8      # 0x3823d
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x0, 0x37aaa(%rip)     # 0x3c1b4
je 0x4743
movq 0x378e5(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x379a3(%rip), %rdx     # 0x3c0c0
leaq 0x33aec(%rip), %rsi     # 0x38210
leaq 0x33b0c(%rip), %rcx     # 0x38237
leaq 0x33b08(%rip), %r8      # 0x3823a
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x0, 0x37b22(%rip)     # 0x3c26c
jl 0x4783
movq 0x378a5(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x37963(%rip), %rdx     # 0x3c0c0
leaq 0x33aac(%rip), %rsi     # 0x38210
leaq 0x33acc(%rip), %rcx     # 0x38237
leaq 0x33ad5(%rip), %r8      # 0x38247
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x0, 0x37aea(%rip)     # 0x3c274
jl 0x47c3
movq 0x37865(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x37923(%rip), %rdx     # 0x3c0c0
leaq 0x33a6c(%rip), %rsi     # 0x38210
leaq 0x33a8c(%rip), %rcx     # 0x38237
leaq 0x33ada(%rip), %r8      # 0x3828c
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
movl 0x379ef(%rip), %eax     # 0x3c1b8
cmpl 0x378e1(%rip), %eax     # 0x3c0b0
jge 0x47dd
movl 0x378d9(%rip), %eax     # 0x3c0b0
movl %eax, 0x379db(%rip)     # 0x3c1b8
cmpl $0x0, 0x37a78(%rip)     # 0x3c25c
je 0x47fb
leaq 0x37a13(%rip), %rdi     # 0x3c200
leaq 0x33d50(%rip), %rsi     # 0x38544
callq 0x1030
jmp 0x480e
leaq 0x379fe(%rip), %rdi     # 0x3c200
leaq 0x33d44(%rip), %rsi     # 0x3854d
callq 0x1030
callq 0x6af0
movl $0x0, -0x4(%rbp)
cmpl $0x40, -0x4(%rbp)
jg 0x4891
movslq -0x4(%rbp), %rcx
leaq 0x2a5645(%rip), %rax    # 0x2a9e70
shlq $0x4, %rcx
addq %rcx, %rax
movq $0x0, 0x8(%rax)
movslq -0x4(%rbp), %rcx
leaq 0x2a562b(%rip), %rax    # 0x2a9e70
shlq $0x4, %rcx
addq %rcx, %rax
movq $0x0, (%rax)
movslq -0x4(%rbp), %rcx
leaq 0x2a51f2(%rip), %rax    # 0x2a9a50
shlq $0x4, %rcx
addq %rcx, %rax
movq $0x0, 0x8(%rax)
movslq -0x4(%rbp), %rcx
leaq 0x2a51d8(%rip), %rax    # 0x2a9a50
shlq $0x4, %rcx
addq %rcx, %rax
movq $0x0, (%rax)
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x481a
movl $0x1, 0x39155(%rip)     # 0x3d9f0
cmpl $0xc, 0x379de(%rip)     # 0x3c280
jg 0x48b2
movl 0x379d6(%rip), %eax     # 0x3c280
subl $0x1, %eax
movl %eax, -0x18(%rbp)
jmp 0x48be
movl 0x379c8(%rip), %eax     # 0x3c280
subl $0x2, %eax
movl %eax, -0x18(%rbp)
movl -0x18(%rbp), %eax
cmpl $0xe, %eax
jle 0x48d0
movl $0xe, %eax
movl %eax, -0x1c(%rbp)
jmp 0x48f9
cmpl $0xc, 0x379a9(%rip)     # 0x3c280
jg 0x48e7
movl 0x379a1(%rip), %eax     # 0x3c280
subl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x48f3
movl 0x37993(%rip), %eax     # 0x3c280
subl $0x2, %eax
movl %eax, -0x20(%rbp)
movl -0x20(%rbp), %eax
movl %eax, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movl %eax, -0x14(%rbp)
movl -0x8(%rbp), %edi
movl -0x14(%rbp), %esi
movl 0x37975(%rip), %edx     # 0x3c280
subl $0x1, %edx
callq 0x6f50
cmpl $0x0, 0x390da(%rip)     # 0x3d9f4
jne 0x4939
cmpl $0x0, 0x37955(%rip)     # 0x3c278
jle 0x4939
movl 0x37955(%rip), %eax     # 0x3c280
addl $-0x1, %eax
movl %eax, 0x3794c(%rip)     # 0x3c280
jmp 0x4beb
movl 0x37771(%rip), %eax     # 0x3c0b0
movl %eax, 0x3793f(%rip)     # 0x3c284
callq 0x1a240
leaq 0x392af(%rip), %rdi     # 0x3dc00
leaq 0x393a8(%rip), %rsi     # 0x3dd00
leaq -0xc(%rbp), %rdx
leaq -0x10(%rbp), %rcx
callq 0x7410
movl -0xc(%rbp), %edi
movl -0x10(%rbp), %esi
callq 0x1a970
movl 0x3790a(%rip), %eax     # 0x3c280
addl $-0x1, %eax
movl %eax, 0x37901(%rip)     # 0x3c280
cmpl $0x0, 0x37862(%rip)     # 0x3c1e8
je 0x4beb
cmpl $0x0, 0x3781d(%rip)     # 0x3c1b0
jne 0x4beb
movl $0x0, -0x4(%rbp)
cmpl $0x40, -0x4(%rbp)
jg 0x4be9
movslq -0x4(%rbp), %rcx
leaq 0x2a54bb(%rip), %rax    # 0x2a9e70
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, 0x8(%rax)
jne 0x49df
movslq -0x4(%rbp), %rcx
leaq 0x2a54a2(%rip), %rax    # 0x2a9e70
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
je 0x4bd9
movq 0x3780a(%rip), %rdi     # 0x3c1f0
movl -0x4(%rbp), %edx
leaq 0x33b71(%rip), %rsi     # 0x38561
movb $0x0, %al
callq 0x1060
cmpl $0x0, 0x377e2(%rip)     # 0x3c1e0
je 0x4b3d
movslq -0x4(%rbp), %rcx
leaq 0x2a5041(%rip), %rax    # 0x2a9a50
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
jne 0x4a49
movq 0x377cd(%rip), %rdi     # 0x3c1f0
movslq -0x4(%rbp), %rcx
leaq 0x2a5022(%rip), %rax    # 0x2a9a50
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdx
leaq 0x3367c(%rip), %rsi     # 0x380bc
movb $0x0, %al
callq 0x1060
jmp 0x4a89
movq 0x377a0(%rip), %rdi     # 0x3c1f0
movslq -0x4(%rbp), %rcx
leaq 0x2a4ff5(%rip), %rax    # 0x2a9a50
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rdx
movslq -0x4(%rbp), %rcx
leaq 0x2a4fe0(%rip), %rax    # 0x2a9a50
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rcx
leaq 0x3363e(%rip), %rsi     # 0x380c0
movb $0x0, %al
callq 0x1060
movq 0x37760(%rip), %rdi     # 0x3c1f0
leaq 0x33839(%rip), %rsi     # 0x382d0
movb $0x0, %al
callq 0x1060
movslq -0x4(%rbp), %rcx
leaq 0x2a53c7(%rip), %rax    # 0x2a9e70
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
jne 0x4ae3
movq 0x37733(%rip), %rdi     # 0x3c1f0
movslq -0x4(%rbp), %rcx
leaq 0x2a53a8(%rip), %rax    # 0x2a9e70
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdx
leaq 0x335e2(%rip), %rsi     # 0x380bc
movb $0x0, %al
callq 0x1060
jmp 0x4b23
movq 0x37706(%rip), %rdi     # 0x3c1f0
movslq -0x4(%rbp), %rcx
leaq 0x2a537b(%rip), %rax    # 0x2a9e70
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rdx
movslq -0x4(%rbp), %rcx
leaq 0x2a5366(%rip), %rax    # 0x2a9e70
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rcx
leaq 0x335a4(%rip), %rsi     # 0x380c0
movb $0x0, %al
callq 0x1060
movq 0x376c6(%rip), %rdi     # 0x3c1f0
leaq 0x33a40(%rip), %rsi     # 0x38571
movb $0x0, %al
callq 0x1060
jmp 0x4bd7
movslq -0x4(%rbp), %rcx
leaq 0x2a5328(%rip), %rax    # 0x2a9e70
shlq $0x4, %rcx
addq %rcx, %rax
cmpq $0x0, (%rax)
jne 0x4b82
movq 0x37694(%rip), %rdi     # 0x3c1f0
movslq -0x4(%rbp), %rcx
leaq 0x2a5309(%rip), %rax    # 0x2a9e70
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rdx
leaq 0x33543(%rip), %rsi     # 0x380bc
movb $0x0, %al
callq 0x1060
jmp 0x4bc2
movq 0x37667(%rip), %rdi     # 0x3c1f0
movslq -0x4(%rbp), %rcx
leaq 0x2a52dc(%rip), %rax    # 0x2a9e70
shlq $0x4, %rcx
addq %rcx, %rax
movq (%rax), %rdx
movslq -0x4(%rbp), %rcx
leaq 0x2a52c7(%rip), %rax    # 0x2a9e70
shlq $0x4, %rcx
addq %rcx, %rax
movq 0x8(%rax), %rcx
leaq 0x33505(%rip), %rsi     # 0x380c0
movb $0x0, %al
callq 0x1060
movq 0x37627(%rip), %rdi     # 0x3c1f0
leaq 0x339aa(%rip), %rsi     # 0x3857a
movb $0x0, %al
callq 0x1060
jmp 0x4bd9
jmp 0x4bdb
movl -0x4(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x4(%rbp)
jmp 0x49a0
jmp 0x4beb
addq $0x20, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)