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

/* Case of minimum degree >= 4, except for polygons and polytopes. */
{
    int startingsize,nbtot,nbop,hint;
    triangle nft[MAXN];

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

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

    INCOMPAT(tswitch,"-m4 or -c4","-t");
    INCOMPAT(qswitch,"-m4 or -c4","-q");
    INCOMPAT(edgebound[0]>=0,"-m4 without -p","-e");
    INCOMPAT(maxfacesize>=0,"-m4 without -p","-f");
    
    if (dswitch) strcpy(outtypename,"cubic graphs");
    else         strcpy(outtypename,"triangulations");

    open_output_file();

    needgroup = Gswitch;
    if (minconnec == 4) xswitch = TRUE;

    xconnec = minconnec;

    hint = MIN(maxnv <= 19 ? maxnv-4 : maxnv-5, 17);
    initialize_splitting(startingsize,hint,maxnv-3);
    if (splitlevel == 0 && res > 0) return;

    initialize_min4();
    canon(degree,numbering,&nbtot,&nbop);
    
#ifdef FAST_FILTER_MIN4
    if (FAST_FILTER_MIN4)
#endif
    {
        if (xswitch || minconnec == 4)
	    scanmin4c(nbtot,nbop,splitlevel==6,NULL,nft,0);
        else
	    scanmin4(nbtot,nbop,splitlevel==6,NULL);
    }
}

// Assembly:
pushq %r14
pushq %rbx
subq $0x618, %rsp            # imm = 0x618
movl 0x20b5e(%rip), %eax     # 0x261b8
testl %eax, %eax
jg 0x566d
movl $0x4, 0x20b50(%rip)     # 0x261b8
movl $0x4, %eax
movl 0x20a3d(%rip), %ecx     # 0x260b0
testl %ecx, %ecx
jg 0x5686
movl $0x3, 0x20a2f(%rip)     # 0x260b0
movl $0x3, %ecx
movl 0x20be4(%rip), %edx     # 0x26270
addl $-0x41, %edx
cmpl $-0x3c, %edx
jbe 0x5831
addl $-0x5, %ecx
cmpl $-0x3, %ecx
jbe 0x5836
cmpl $0x4, %eax
jne 0x583b
cmpb $0x1, 0x20a00(%rip)     # 0x260b4
je 0x5840
cmpb $0x1, 0x20af3(%rip)     # 0x261b4
je 0x5845
cmpl $0x0, 0x20b8e(%rip)     # 0x2625c
jns 0x584a
cmpl $0x0, 0x20b89(%rip)     # 0x26264
jns 0x584f
cmpb $0x1, 0x20b64(%rip)     # 0x2624c
jne 0x5707
movabsq $0x73687061726720, %rax # imm = 0x73687061726720
movq %rax, 0x20afa(%rip)     # 0x261f5
movabsq $0x7267206369627563, %rax # imm = 0x7267206369627563
jmp 0x5722
movabsq $0x736e6f6974616c, %rax # imm = 0x736E6F6974616C
movq %rax, 0x20adf(%rip)     # 0x261f7
movabsq $0x6c75676e61697274, %rax # imm = 0x6C75676E61697274
movq %rax, 0x20ac7(%rip)     # 0x261f0
callq 0x5d37
movzbl 0x20b0f(%rip), %eax     # 0x26244
movl %eax, 0x222a5(%rip)     # 0x279e0
movl 0x2096f(%rip), %eax     # 0x260b0
cmpl $0x4, %eax
jne 0x574d
movb $0x1, 0x2096b(%rip)     # 0x260b8
movl 0x20b1d(%rip), %ecx     # 0x26270
xorl %edx, %edx
cmpl $0x14, %ecx
setl %dl
addl %ecx, %edx
addl $-0x5, %edx
cmpl $0x11, %edx
movl $0x11, %esi
cmovll %edx, %esi
movl %eax, 0x20b03(%rip)     # 0x26274
leal -0x3(%rcx), %eax
movzbl 0x20add(%rip), %edx     # 0x26258
addl %esi, %edx
cmpl %eax, %edx
cmovgel %eax, %edx
xorl %eax, %eax
cmpl $0x9, %ecx
movl $0x6, %ecx
cmovll %eax, %ecx
leal -0x1(%rdx), %esi
cmpl $0x5, %esi
cmovael %edx, %ecx
cmpl $0x1, 0x20acd(%rip)     # 0x2626c
cmovel %eax, %ecx
movl %ecx, 0x2223c(%rip)     # 0x279e4
movl 0x20aba(%rip), %eax     # 0x26268
movl %eax, 0x28546c(%rip)    # 0x28ac20
testl %ecx, %ecx
sete %cl
testl %eax, %eax
setg %al
testb %al, %cl
jne 0x5826
callq 0x1049b
leaq 0x22422(%rip), %rdi     # 0x27bf0
leaq 0xc(%rsp), %rbx
leaq 0x8(%rsp), %r14
movq %rbx, %rsi
movq %r14, %rdx
callq 0x62d6
movl (%rbx), %edi
xorl %edx, %edx
cmpl $0x6, 0x221f6(%rip)     # 0x279e4
movl (%r14), %esi
sete %dl
cmpb $0x0, 0x208bd(%rip)     # 0x260b8
jne 0x5817
cmpl $0x4, 0x208ac(%rip)     # 0x260b0
je 0x5817
xorl %ecx, %ecx
addq $0x618, %rsp            # imm = 0x618
popq %rbx
popq %r14
jmp 0x107cd
leaq 0x10(%rsp), %r8
xorl %ecx, %ecx
xorl %r9d, %r9d
callq 0x1efbc
addq $0x618, %rsp            # imm = 0x618
popq %rbx
popq %r14
retq
callq 0x2186
callq 0x2140
callq 0x2025
callq 0x210a
callq 0x20d4
callq 0x209e
callq 0x2068