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

/* initialize edges for the 3-connected  and min3 quadrangulation
   generation, and make the inital cube */

{
    EDGE *run,*start;
    int n,i;

/* First initialize the edges for operation P1. They look like

       a
    \ / \ /
    ?b   c?   Vertex c is the new point. (a,c) and (d,c) are the
    / \ / \   new edges with a-->c taken as quadr_P1(n) 
       d

It is assumed that for 8<=n<MAXN after quadr_P1(n) there is room for 4 edges.
*/

    for (n=8; n<MAXN; n++)
      { run=start=quadr_P1(n);
        run->end=n; run->min=run;
        run->invers=start+1; 

        run=start+1; run->start=n; 
        run->min=run->invers=start; run->prev=start+3;

        run=start+2; run->end=n; run->min=run; run->invers=start+3;

        run=start+3; run->start=n; run->min=run->invers=start+2;
	run->next=start+1;
      }


    /* The edges for operation P2 can't be "drawn" -- sorry 

    It is assumed that after quadr_P2(n) there is room for 14 edges.
    */

    for (n=8; n<MAXN-2; n++)
      { start=quadr_P2(n);

        for (i=0;i<4;i++) 
	  { run=start+(2*i);
	    run->invers=run+1;
	    run->min=run;
	    (run+1)->invers=(run+1)->min=run;
	  }

	run=start;
	run->start=n; run->prev=start+7;

	run=start+1; run->end=n;

	run=start+2; 
	run->start=n+1; run->prev=start+4; run->next=start+6;
	
	run=start+3; run->end=n+1;

	run=start+4;
	run->start=n+1; run->prev=start+6; run->next=start+2;

	run=start+5; run->end=n+1;

	run=start+6;
	run->start=n+1; run->end=n; run->prev=start+2; run->next=start+4;

	run=start+7;
	run->start=n;  run->end=n+1;  run->next=start;

      }

    /* The edges for operation P3.

    It is assumed that after quadr_P3(n) there is room for 16 edges.
    */

    for (n=8; n<MAXN-4; n++)
      { start=quadr_P3(n);

      for (i=0; i<4; i++)
	{ run=start+3*i;
	  run->next=run+1; run->prev=run+2; run->start=n+i;
	  run++; run->next=run+1; run->prev=run-1; run->start=n+i;
	  run++; run->next=run-2; run->prev=run-1; run->start=n+i;
      }

      run=start; run->invers=start+12; run->min=run;
      run=start+1; run->invers=start+3; run->min=run; run->end=n+1;
      run=start+2; run->invers=start+11; run->min=run; run->end=n+3;
      run=start+3; run->invers=start+1; run->min=run->invers; run->end=n;
      run=start+4; run->invers=start+13; run->min=run;
      run=start+5; run->invers=start+6; run->min=run; run->end=n+2;
      run=start+6; run->invers=start+5; run->min=run->invers; run->end=n+1;
      run=start+7; run->invers=start+14; run->min=run;
      run=start+8; run->invers=start+9; run->min=run; run->end=n+3;
      run=start+9; run->invers=start+8; run->min=run->invers; run->end=n+2;
      run=start+10; run->invers=start+15; run->min=run;
      run=start+11; run->invers=start+2; run->min=run->invers; run->end=n;
      run=start+12; run->invers=start; run->min=run->invers; run->end=n;
      run=start+13; run->invers=start+4; run->min=run->invers; run->end=n+1;
      run=start+14; run->invers=start+7; run->min=run->invers; run->end=n+2;
      run=start+15; run->invers=start+10; run->min=run->invers; run->end=n+3;

      }

   make_cube();
}

// Assembly:
movl $0x8, %ecx
xorl %edx, %edx
leaq 0x23cd57(%rip), %rax    # 0x244620
leaq (%rdx,%rax), %rsi
addq $0x900, %rsi            # imm = 0x900
movl %ecx, 0x4(%rsi)
movq %rsi, 0x28(%rsi)
leaq 0x940(%rdx,%rax), %rdi
movq %rdi, -0x20(%rdi)
movl %ecx, (%rdi)
movq %rsi, 0x20(%rdi)
movq %rsi, 0x28(%rdi)
leaq 0x9c0(%rdx,%rax), %rsi
movq %rsi, -0x70(%rsi)
leaq 0x980(%rdx,%rax), %r8
movl %ecx, 0x4(%r8)
movq %r8, 0x28(%r8)
movq %rsi, 0x20(%r8)
movl %ecx, 0x40(%r8)
movq %r8, 0x60(%r8)
movq %r8, 0x68(%r8)
movq %rdi, 0x58(%r8)
addq $0x100, %rdx            # imm = 0x100
incl %ecx
cmpq $0x3800, %rdx           # imm = 0x3800
jne 0x78c9
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl $0x8, %edx
leaq 0x240dd9(%rip), %rcx    # 0x248720
movq %rdx, %rsi
shlq $0x9, %rsi
addq %rax, %rsi
addq $0x3100, %rsi           # imm = 0x3100
movl $0x4, %edi
movq %rcx, %r8
leaq 0x40(%r8), %r9
movq %r9, 0x20(%r8)
movq %r8, 0x28(%r8)
movq %r8, 0x68(%r8)
movq %r8, 0x60(%r8)
subq $-0x80, %r8
decq %rdi
jne 0x7960
movl %edx, (%rsi)
leaq 0x1c0(%rsi), %rdi
movq %rdi, 0x10(%rsi)
movl %edx, 0x44(%rsi)
leaq 0x80(%rsi), %rdi
movq %rdx, %r8
incq %r8
movl %r8d, 0x80(%rsi)
leaq 0x100(%rsi), %r9
movq %r9, 0x90(%rsi)
leaq 0x180(%rsi), %r10
movq %r10, 0x98(%rsi)
movl %r8d, 0xc4(%rsi)
movl %r8d, 0x100(%rsi)
movq %r10, 0x110(%rsi)
movq %rdi, 0x118(%rsi)
movl %r8d, 0x144(%rsi)
movl %r8d, 0x180(%rsi)
movl %edx, 0x184(%rsi)
movq %rdi, 0x190(%rsi)
movq %r9, 0x198(%rsi)
movl %edx, 0x1c0(%rsi)
movl %r8d, 0x1c4(%rsi)
movq %rsi, 0x1d8(%rsi)
addq $0x200, %rcx            # imm = 0x200
movq %r8, %rdx
cmpq $0x3e, %r8
jne 0x7947
movl $0x8, %edx
movq %rax, %rcx
movq %rdx, %rsi
shlq $0xa, %rsi
addq %rax, %rsi
addq $0x9100, %rsi           # imm = 0x9100
movl %edx, %edi
xorl %r8d, %r8d
leaq (%rcx,%r8), %r9
addq $0xb100, %r9            # imm = 0xB100
leaq 0xb140(%rcx,%r8), %r10
movq %r10, -0x28(%r10)
leaq 0xb180(%rcx,%r8), %r11
movq %r11, -0x70(%r11)
movl %edi, -0x80(%r11)
movq %r11, -0x28(%r11)
movq %r9, -0x30(%r11)
movl %edi, -0x40(%r11)
movq %r9, 0x18(%r11)
movq %r10, 0x10(%r11)
movl %edi, (%r11)
addq $0xc0, %r8
incl %edi
cmpq $0x300, %r8             # imm = 0x300
jne 0x7a41
leaq 0x300(%rsi), %rdi
movq %rdi, 0x20(%rsi)
movq %rsi, 0x28(%rsi)
leaq 0x40(%rsi), %r10
leaq 0xc0(%rsi), %rdi
movq %rdi, 0x60(%rsi)
movq %r10, 0x68(%rsi)
leaq 0x1(%rdx), %rdi
movl %edi, 0x44(%rsi)
leaq 0x80(%rsi), %r9
leaq 0x2c0(%rsi), %r8
movq %r8, 0xa0(%rsi)
movq %r9, 0xa8(%rsi)
leal 0x3(%rdx), %r8d
movl %r8d, 0x84(%rsi)
movq %r10, 0xe0(%rsi)
movq %r10, 0xe8(%rsi)
movl %edx, 0xc4(%rsi)
leaq 0x100(%rsi), %r10
leaq 0x340(%rsi), %r11
movq %r11, 0x120(%rsi)
movq %r10, 0x128(%rsi)
leaq 0x140(%rsi), %rbx
leaq 0x180(%rsi), %r11
movq %r11, 0x160(%rsi)
movq %rbx, 0x168(%rsi)
leal 0x2(%rdx), %r11d
movl %r11d, 0x144(%rsi)
movq %rbx, 0x1a0(%rsi)
movq %rbx, 0x1a8(%rsi)
movl %edi, 0x184(%rsi)
leaq 0x1c0(%rsi), %rbx
leaq 0x380(%rsi), %r14
movq %r14, 0x1e0(%rsi)
movq %rbx, 0x1e8(%rsi)
leaq 0x200(%rsi), %r14
leaq 0x240(%rsi), %r15
movq %r15, 0x220(%rsi)
movq %r14, 0x228(%rsi)
movl %r8d, 0x204(%rsi)
movq %r14, 0x260(%rsi)
movq %r14, 0x268(%rsi)
movl %r11d, 0x244(%rsi)
leaq 0x280(%rsi), %r14
leaq 0x3c0(%rsi), %r15
movq %r15, 0x2a0(%rsi)
movq %r14, 0x2a8(%rsi)
movq %r9, 0x2e0(%rsi)
movq %r9, 0x2e8(%rsi)
movl %edx, 0x2c4(%rsi)
movq %rsi, 0x320(%rsi)
movq %rsi, 0x328(%rsi)
movl %edx, 0x304(%rsi)
movq %r10, 0x360(%rsi)
movq %r10, 0x368(%rsi)
movl %edi, 0x344(%rsi)
movq %rbx, 0x3a0(%rsi)
movq %rbx, 0x3a8(%rsi)
movl %r11d, 0x384(%rsi)
movq %r14, 0x3e0(%rsi)
movq %r14, 0x3e8(%rsi)
movl %r8d, 0x3c4(%rsi)
addq $0x400, %rcx            # imm = 0x400
movq %rdi, %rdx
cmpq $0x3c, %rdi
jne 0x7a2b
xorl %ecx, %ecx
leaq 0x1ffb1(%rip), %rdx     # 0x27bf0
leaq 0x1fdaa(%rip), %rsi     # 0x279f0
leaq 0x23c9d3(%rip), %rax    # 0x244620
xorl %edi, %edi
leaq (%rax,%rdi), %r8
movq %r8, (%rsi)
movl $0x3, (%rdx)
leaq (%rdi,%rax), %r9
addq $0x40, %r9
movq %r9, -0x28(%r9)
leaq 0x80(%rdi,%rax), %r10
movq %r10, -0x70(%r10)
movl %ecx, -0x80(%r10)
movq %r10, -0x28(%r10)
movq %r8, -0x30(%r10)
movl %ecx, -0x40(%r10)
movq %r8, 0x18(%r10)
movq %r9, 0x10(%r10)
movl %ecx, (%r10)
addq $0xc0, %rdi
incl %ecx
addq $0x4, %rdx
addq $0x8, %rsi
cmpq $0x600, %rdi            # imm = 0x600
jne 0x7c4f
movl $0x4, %ecx
movl %ecx, 0x23c970(%rip)    # 0x244624
leaq 0x23cc65(%rip), %rdx    # 0x244920
movq %rdx, 0x23c97e(%rip)    # 0x244640
movq %rax, 0x23c97f(%rip)    # 0x244648
movl $0x3, %edx
movl %edx, 0x23c990(%rip)    # 0x244664
leaq 0x23cc05(%rip), %rsi    # 0x2448e0
movq %rsi, 0x23c99e(%rip)    # 0x244680
leaq 0x23c977(%rip), %r11    # 0x244660
movq %r11, 0x23c998(%rip)    # 0x244688
movl $0x1, %r8d
movl %r8d, 0x23c9a7(%rip)    # 0x2446a4
leaq 0x23ca1c(%rip), %rsi    # 0x244720
movq %rsi, 0x23c9b5(%rip)    # 0x2446c0
leaq 0x23c98e(%rip), %rdi    # 0x2446a0
movq %rdi, 0x23c9af(%rip)    # 0x2446c8
movl $0x5, %esi
movl %esi, 0x23c9c0(%rip)    # 0x2446e4
leaq 0x23ccb5(%rip), %r9     # 0x2449e0
movq %r9, 0x23c9ce(%rip)     # 0x244700
leaq 0x23c9a7(%rip), %r10    # 0x2446e0
movq %r10, 0x23c9c8(%rip)    # 0x244708
xorl %r15d, %r15d
movl %r15d, 0x23c9da(%rip)   # 0x244724
movq %rdi, 0x23c9ef(%rip)    # 0x244740
movq %rdi, 0x23c9f0(%rip)    # 0x244748
movl $0x2, %r9d
movl %r9d, 0x23c9ff(%rip)    # 0x244764
leaq 0x23ca74(%rip), %rdi    # 0x2447e0
movq %rdi, 0x23ca0d(%rip)    # 0x244780
leaq 0x23c9e6(%rip), %r14    # 0x244760
movq %r14, 0x23ca07(%rip)    # 0x244788
movl $0x6, %edi
movl %edi, 0x23ca18(%rip)    # 0x2447a4
leaq 0x23cd0d(%rip), %rbx    # 0x244aa0
movq %rbx, 0x23ca26(%rip)    # 0x2447c0
leaq 0x23c9ff(%rip), %rbx    # 0x2447a0
movq %rbx, 0x23ca20(%rip)    # 0x2447c8
movl %r8d, 0x23ca35(%rip)    # 0x2447e4
movq %r14, 0x23ca4a(%rip)    # 0x244800
movq %r14, 0x23ca4b(%rip)    # 0x244808
movl %edx, 0x23ca61(%rip)    # 0x244824
leaq 0x23cad6(%rip), %r14    # 0x2448a0
movq %r14, 0x23ca6f(%rip)    # 0x244840
leaq 0x23ca48(%rip), %r12    # 0x244820
movq %r12, 0x23ca69(%rip)    # 0x244848
movl $0x7, %ebp
movl %ebp, 0x23ca7a(%rip)    # 0x244864
leaq 0x23cd6f(%rip), %r14    # 0x244b60
movq %r14, 0x23ca88(%rip)    # 0x244880
leaq 0x23ca61(%rip), %r14    # 0x244860
movq %r14, 0x23ca82(%rip)    # 0x244888
movl %r9d, 0x23ca97(%rip)    # 0x2448a4
movq %r12, 0x23caac(%rip)    # 0x2448c0
movq %r12, 0x23caad(%rip)    # 0x2448c8
movl %r15d, 0x23cac2(%rip)   # 0x2448e4
movq %r11, 0x23cad7(%rip)    # 0x244900
movq %r11, 0x23cad8(%rip)    # 0x244908
movl %r15d, 0x23caed(%rip)   # 0x244924
movq %rax, 0x23cb02(%rip)    # 0x244940
movq %rax, 0x23cb03(%rip)    # 0x244948
movl %esi, 0x23cb19(%rip)    # 0x244964
leaq 0x23cc0e(%rip), %rax    # 0x244a60
movq %rax, 0x23cb27(%rip)    # 0x244980
leaq 0x23cb00(%rip), %rax    # 0x244960
movq %rax, 0x23cb21(%rip)    # 0x244988
movl %ebp, 0x23cb37(%rip)    # 0x2449a4
leaq 0x23cd2c(%rip), %r11    # 0x244ba0
movq %r11, 0x23cb45(%rip)    # 0x2449c0
leaq 0x23cb1e(%rip), %r11    # 0x2449a0
movq %r11, 0x23cb3f(%rip)    # 0x2449c8
movl %r8d, 0x23cb54(%rip)    # 0x2449e4
movq %r10, 0x23cb69(%rip)    # 0x244a00
movq %r10, 0x23cb6a(%rip)    # 0x244a08
movl %edi, 0x23cb80(%rip)    # 0x244a24
leaq 0x23cc75(%rip), %r8     # 0x244b20
movq %r8, 0x23cb8e(%rip)     # 0x244a40
leaq 0x23cb67(%rip), %r8     # 0x244a20
movq %r8, 0x23cb88(%rip)     # 0x244a48
movl %ecx, 0x23cb9e(%rip)    # 0x244a64
movq %rax, 0x23cbb3(%rip)    # 0x244a80
movq %rax, 0x23cbb4(%rip)    # 0x244a88
movl %r9d, 0x23cbc9(%rip)    # 0x244aa4
movq %rbx, 0x23cbde(%rip)    # 0x244ac0
movq %rbx, 0x23cbdf(%rip)    # 0x244ac8
movl %ebp, 0x23cbf5(%rip)    # 0x244ae4
leaq 0x23ccea(%rip), %rax    # 0x244be0
movq %rax, 0x23cc03(%rip)    # 0x244b00
leaq 0x23cbdc(%rip), %rax    # 0x244ae0
movq %rax, 0x23cbfd(%rip)    # 0x244b08
movl %esi, 0x23cc13(%rip)    # 0x244b24
movq %r8, 0x23cc28(%rip)     # 0x244b40
movq %r8, 0x23cc29(%rip)     # 0x244b48
movl %edx, 0x23cc3f(%rip)    # 0x244b64
movq %r14, 0x23cc54(%rip)    # 0x244b80
movq %r14, 0x23cc55(%rip)    # 0x244b88
movl %ecx, 0x23cc6b(%rip)    # 0x244ba4
movq %r11, 0x23cc80(%rip)    # 0x244bc0
movq %r11, 0x23cc81(%rip)    # 0x244bc8
movl %edi, 0x23cc97(%rip)    # 0x244be4
movq %rax, 0x23ccac(%rip)    # 0x244c00
movq %rax, 0x23ccad(%rip)    # 0x244c08
movl $0x8, 0x23c6ab(%rip)    # 0x244610
movl $0x18, 0x23c6a5(%rip)   # 0x244614
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq