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

/* Simple quadrangulations. */
{
    int startingsize,nbtot,nbop,hint;
    EDGE *P1edges[MAXN];

    if (minimumdeg <= 0) minimumdeg = 3;
    if (minconnec <= 0) minconnec = 3;
    if (minimumdeg==2 && minconnec>=3) minimumdeg = 3;
    startingsize = (minimumdeg == 2 ? 4 : 8);

    CHECKRANGE(maxnv,"n",startingsize,MAXN);
    CHECKRANGE(minconnec,"-c",2,4);
    CHECKRANGE(minimumdeg,"-m",2,3);

    INCOMPAT(pswitch,"-q","-p");
    INCOMPAT(bswitch,"-q","-b");
    INCOMPAT(polygonsize>=0,"-q","-P");
    INCOMPAT(tswitch,"-q","-t");
    INCOMPAT(edgebound[0]>=0,"-q","-e");
    INCOMPAT(maxfacesize>=0,"-q","-f");
    
    if (dswitch) strcpy(outtypename,"quartic graphs");
    else         strcpy(outtypename,"quadrangulations");

    open_output_file();

    needgroup = Gswitch;

    if (minimumdeg == 2)
    {
        hint = MIN(maxnv <= 16 ? maxnv-5 : maxnv-6, maxnv < 25 ? 17 : 18);
        initialize_splitting(startingsize,hint,maxnv-1);
        if (splitlevel == 0 && res > 0) return;
        initialize_quadrangulations();
	extend_quadr_P0(firstedge[1]);   /* make square */
        xconnec = minconnec;
        canon(degree,numbering,&nbtot,&nbop);
	scanquadrangulations_all(nbtot,nbop);
#ifdef STATS
        fprintf(msgfile,"Counts by min degree: ");
        PRINTBIG(msgfile,nummindeg[2]);
        fprintf(msgfile," ");
        PRINTBIG(msgfile,nummindeg[3]);
        fprintf(msgfile,"\n");
#endif
    }
    else
    {
        hint = MIN(maxnv <= 23 ? maxnv-5 : maxnv-6, maxnv < 30 ? 23 : 24);
        initialize_splitting(startingsize,hint,maxnv-2);
        if (splitlevel == 0 && res > 0) return;
        initialize_min3_quadrangulations();
        xconnec = minconnec;
        canon(degree,numbering,&nbtot,&nbop);
        if (minconnec == 3)
            scanquadrangulations(nbtot,nbop,firstedge[0],
						splitlevel==8,P1edges,0);
        else if (minconnec == 4)
            scanquadrangulations_nf4(nbtot,nbop,firstedge[0],
					        splitlevel==8,P1edges,0);
        else
            scanquadrangulations_min3(nbtot,nbop,firstedge[0],
					        splitlevel==8,P1edges,0);
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x230, %rsp            # imm = 0x230
cmpl $0x0, 0x37106(%rip)     # 0x3c1b8
jg 0x50be
movl $0x3, 0x370fa(%rip)     # 0x3c1b8
cmpl $0x0, 0x36feb(%rip)     # 0x3c0b0
jg 0x50d1
movl $0x3, 0x36fdf(%rip)     # 0x3c0b0
cmpl $0x2, 0x370e0(%rip)     # 0x3c1b8
jne 0x50ed
cmpl $0x3, 0x36fcf(%rip)     # 0x3c0b0
jl 0x50ed
movl $0x3, 0x370cb(%rip)     # 0x3c1b8
movl 0x370c5(%rip), %edx     # 0x3c1b8
movl $0x8, %eax
movl $0x4, %ecx
cmpl $0x2, %edx
cmovel %ecx, %eax
movl %eax, -0x4(%rbp)
movl 0x37174(%rip), %eax     # 0x3c280
cmpl -0x4(%rbp), %eax
jl 0x511a
cmpl $0x40, 0x37168(%rip)    # 0x3c280
jle 0x518d
movq 0x36ed7(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x36f95(%rip), %rdx     # 0x3c0c0
leaq 0x330b0(%rip), %rsi     # 0x381e2
leaq 0x331c0(%rip), %rcx     # 0x382f9
movb $0x0, %al
callq 0x1060
cmpl $0x40, -0x4(%rbp)
jne 0x5163
movq 0x36eab(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movl -0x4(%rbp), %edx
leaq 0x33527(%rip), %rsi     # 0x38681
movb $0x0, %al
callq 0x1060
jmp 0x5183
movq 0x36e8e(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movl -0x4(%rbp), %edx
leaq 0x3308b(%rip), %rsi     # 0x38202
movl $0x40, %ecx
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x2, 0x36f1c(%rip)     # 0x3c0b0
jl 0x519f
cmpl $0x4, 0x36f13(%rip)     # 0x3c0b0
jle 0x51f1
movq 0x36e52(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x36f10(%rip), %rdx     # 0x3c0c0
leaq 0x3302b(%rip), %rsi     # 0x381e2
leaq 0x3304c(%rip), %rcx     # 0x3820a
movb $0x0, %al
callq 0x1060
movq 0x36e2c(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
leaq 0x3302c(%rip), %rsi     # 0x38202
movl $0x2, %edx
movl $0x4, %ecx
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x2, 0x36fc0(%rip)     # 0x3c1b8
jl 0x5203
cmpl $0x3, 0x36fb7(%rip)     # 0x3c1b8
jle 0x5255
movq 0x36dee(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x36eac(%rip), %rdx     # 0x3c0c0
leaq 0x32fc7(%rip), %rsi     # 0x381e2
leaq 0x32feb(%rip), %rcx     # 0x3820d
movb $0x0, %al
callq 0x1060
movq 0x36dc8(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
leaq 0x32fc8(%rip), %rsi     # 0x38202
movl $0x2, %edx
movl $0x3, %ecx
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x0, 0x36f4c(%rip)     # 0x3c1a8
je 0x5295
movq 0x36d93(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x36e51(%rip), %rdx     # 0x3c0c0
leaq 0x32f9a(%rip), %rsi     # 0x38210
leaq 0x32fbd(%rip), %rcx     # 0x3823a
leaq 0x333cd(%rip), %r8      # 0x38651
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x0, 0x36f10(%rip)     # 0x3c1ac
je 0x52d5
movq 0x36d53(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x36e11(%rip), %rdx     # 0x3c0c0
leaq 0x32f5a(%rip), %rsi     # 0x38210
leaq 0x32f7d(%rip), %rcx     # 0x3823a
leaq 0x33225(%rip), %r8      # 0x384e9
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x0, 0x36ed4(%rip)     # 0x3c1b0
jl 0x5315
movq 0x36d13(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x36dd1(%rip), %rdx     # 0x3c0c0
leaq 0x32f1a(%rip), %rsi     # 0x38210
leaq 0x32f3d(%rip), %rcx     # 0x3823a
leaq 0x32f33(%rip), %r8      # 0x38237
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x0, 0x36d98(%rip)     # 0x3c0b4
je 0x5355
movq 0x36cd3(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x36d91(%rip), %rdx     # 0x3c0c0
leaq 0x32eda(%rip), %rsi     # 0x38210
leaq 0x32efd(%rip), %rcx     # 0x3823a
leaq 0x32ef9(%rip), %r8      # 0x3823d
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x0, 0x36f10(%rip)     # 0x3c26c
jl 0x5395
movq 0x36c93(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x36d51(%rip), %rdx     # 0x3c0c0
leaq 0x32e9a(%rip), %rsi     # 0x38210
leaq 0x32ebd(%rip), %rcx     # 0x3823a
leaq 0x32ec3(%rip), %r8      # 0x38247
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x0, 0x36ed8(%rip)     # 0x3c274
jl 0x53d5
movq 0x36c53(%rip), %rax     # 0x3bff8
movq (%rax), %rdi
movq 0x36d11(%rip), %rdx     # 0x3c0c0
leaq 0x32e5a(%rip), %rsi     # 0x38210
leaq 0x32e7d(%rip), %rcx     # 0x3823a
leaq 0x32ec8(%rip), %r8      # 0x3828c
movb $0x0, %al
callq 0x1060
movl $0x1, %edi
callq 0x10c0
cmpl $0x0, 0x36e80(%rip)     # 0x3c25c
je 0x53f3
leaq 0x36e1b(%rip), %rdi     # 0x3c200
leaq 0x331bf(%rip), %rsi     # 0x385ab
callq 0x1030
jmp 0x5406
leaq 0x36e06(%rip), %rdi     # 0x3c200
leaq 0x331b9(%rip), %rsi     # 0x385ba
callq 0x1030
callq 0x6af0
movl 0x36e43(%rip), %eax     # 0x3c254
movl %eax, 0x385d9(%rip)     # 0x3d9f0
cmpl $0x2, 0x36d9a(%rip)     # 0x3c1b8
jne 0x553c
cmpl $0x10, 0x36e55(%rip)    # 0x3c280
jg 0x543e
movl 0x36e4d(%rip), %eax     # 0x3c280
subl $0x5, %eax
movl %eax, -0x214(%rbp)
jmp 0x544d
movl 0x36e3c(%rip), %eax     # 0x3c280
subl $0x6, %eax
movl %eax, -0x214(%rbp)
movl -0x214(%rbp), %eax
movl 0x36e27(%rip), %esi     # 0x3c280
movl $0x12, %ecx
movl $0x11, %edx
cmpl $0x19, %esi
cmovll %edx, %ecx
cmpl %ecx, %eax
jle 0x548b
movl 0x36e0d(%rip), %edx     # 0x3c280
movl $0x12, %eax
movl $0x11, %ecx
cmpl $0x19, %edx
cmovll %ecx, %eax
movl %eax, -0x218(%rbp)
jmp 0x54c0
cmpl $0x10, 0x36dee(%rip)    # 0x3c280
jg 0x54a5
movl 0x36de6(%rip), %eax     # 0x3c280
subl $0x5, %eax
movl %eax, -0x21c(%rbp)
jmp 0x54b4
movl 0x36dd5(%rip), %eax     # 0x3c280
subl $0x6, %eax
movl %eax, -0x21c(%rbp)
movl -0x21c(%rbp), %eax
movl %eax, -0x218(%rbp)
movl -0x218(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x4(%rbp), %edi
movl -0x10(%rbp), %esi
movl 0x36dab(%rip), %edx     # 0x3c280
subl $0x1, %edx
callq 0x6f50
cmpl $0x0, 0x38510(%rip)     # 0x3d9f4
jne 0x54f4
cmpl $0x0, 0x36d8b(%rip)     # 0x3c278
jle 0x54f4
jmp 0x56d3
callq 0x6ff0
movq 0x38508(%rip), %rdi     # 0x3da08
callq 0x7260
movl 0x36ba5(%rip), %eax     # 0x3c0b0
movl %eax, 0x36d73(%rip)     # 0x3c284
leaq 0x386e8(%rip), %rdi     # 0x3dc00
leaq 0x387e1(%rip), %rsi     # 0x3dd00
leaq -0x8(%rbp), %rdx
leaq -0xc(%rbp), %rcx
callq 0x7410
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
callq 0x7a20
jmp 0x56d3
cmpl $0x17, 0x36d3d(%rip)    # 0x3c280
jg 0x5556
movl 0x36d35(%rip), %eax     # 0x3c280
subl $0x5, %eax
movl %eax, -0x220(%rbp)
jmp 0x5565
movl 0x36d24(%rip), %eax     # 0x3c280
subl $0x6, %eax
movl %eax, -0x220(%rbp)
movl -0x220(%rbp), %eax
movl 0x36d0f(%rip), %esi     # 0x3c280
movl $0x18, %ecx
movl $0x17, %edx
cmpl $0x1e, %esi
cmovll %edx, %ecx
cmpl %ecx, %eax
jle 0x55a3
movl 0x36cf5(%rip), %edx     # 0x3c280
movl $0x18, %eax
movl $0x17, %ecx
cmpl $0x1e, %edx
cmovll %ecx, %eax
movl %eax, -0x224(%rbp)
jmp 0x55d8
cmpl $0x17, 0x36cd6(%rip)    # 0x3c280
jg 0x55bd
movl 0x36cce(%rip), %eax     # 0x3c280
subl $0x5, %eax
movl %eax, -0x228(%rbp)
jmp 0x55cc
movl 0x36cbd(%rip), %eax     # 0x3c280
subl $0x6, %eax
movl %eax, -0x228(%rbp)
movl -0x228(%rbp), %eax
movl %eax, -0x224(%rbp)
movl -0x224(%rbp), %eax
movl %eax, -0x10(%rbp)
movl -0x4(%rbp), %edi
movl -0x10(%rbp), %esi
movl 0x36c93(%rip), %edx     # 0x3c280
subl $0x2, %edx
callq 0x6f50
cmpl $0x0, 0x383f8(%rip)     # 0x3d9f4
jne 0x560c
cmpl $0x0, 0x36c73(%rip)     # 0x3c278
jle 0x560c
jmp 0x56d3
callq 0x84b0
movl 0x36a99(%rip), %eax     # 0x3c0b0
movl %eax, 0x36c67(%rip)     # 0x3c284
leaq 0x385dc(%rip), %rdi     # 0x3dc00
leaq 0x386d5(%rip), %rsi     # 0x3dd00
leaq -0x8(%rbp), %rdx
leaq -0xc(%rbp), %rcx
callq 0x7410
cmpl $0x3, 0x36a71(%rip)     # 0x3c0b0
jne 0x566e
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
movq 0x383b2(%rip), %rdx     # 0x3da00
cmpl $0x8, 0x3839f(%rip)     # 0x3d9f4
sete %al
andb $0x1, %al
movzbl %al, %ecx
leaq -0x210(%rbp), %r8
xorl %r9d, %r9d
callq 0x8c80
jmp 0x56d1
cmpl $0x4, 0x36a3b(%rip)     # 0x3c0b0
jne 0x56a4
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
movq 0x3837c(%rip), %rdx     # 0x3da00
cmpl $0x8, 0x38369(%rip)     # 0x3d9f4
sete %al
andb $0x1, %al
movzbl %al, %ecx
leaq -0x210(%rbp), %r8
xorl %r9d, %r9d
callq 0x34880
jmp 0x56cf
movl -0x8(%rbp), %edi
movl -0xc(%rbp), %esi
movq 0x3834f(%rip), %rdx     # 0x3da00
cmpl $0x8, 0x3833c(%rip)     # 0x3d9f4
sete %al
andb $0x1, %al
movzbl %al, %ecx
leaq -0x210(%rbp), %r8
xorl %r9d, %r9d
callq 0x92d0
jmp 0x56d1
jmp 0x56d3
addq $0x230, %rsp            # imm = 0x230
popq %rbp
retq
nopl (%rax)