// File: /workspace/github_c_makefile_star2_O2/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 0x23bdf0(%rip), %rax    # 0x242610
cmpq $0x3800, %rdx           # imm = 0x3800
je 0x688c
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
jmp 0x6820
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
movabsq $0x8, %rsi
leaq 0x23fe6d(%rip), %rcx    # 0x246710
movabsq $0x4, %rdx
cmpq $0x3e, %rsi
je 0x698f
movq %rsi, %rdi
shlq $0x9, %rdi
addq %rax, %rdi
addq $0x3100, %rdi           # imm = 0x3100
movq %rdx, %r8
movq %rcx, %r9
subq $0x1, %r8
jb 0x68ee
leaq 0x40(%r9), %r10
movq %r10, 0x20(%r9)
movq %r9, 0x28(%r9)
movq %r9, 0x68(%r9)
movq %r9, 0x60(%r9)
subq $-0x80, %r9
jmp 0x68ce
movl %esi, (%rdi)
leaq 0x1c0(%rdi), %r8
movq %r8, 0x10(%rdi)
movl %esi, 0x44(%rdi)
leaq 0x80(%rdi), %r8
movq %rsi, %r9
incq %r9
movl %r9d, 0x80(%rdi)
leaq 0x100(%rdi), %r10
movq %r10, 0x90(%rdi)
leaq 0x180(%rdi), %r11
movq %r11, 0x98(%rdi)
movl %r9d, 0xc4(%rdi)
movl %r9d, 0x100(%rdi)
movq %r11, 0x110(%rdi)
movq %r8, 0x118(%rdi)
movl %r9d, 0x144(%rdi)
movl %r9d, 0x180(%rdi)
movl %esi, 0x184(%rdi)
movq %r8, 0x190(%rdi)
movq %r10, 0x198(%rdi)
movl %esi, 0x1c0(%rdi)
movl %r9d, 0x1c4(%rdi)
movq %rdi, 0x1d8(%rdi)
addq $0x200, %rcx            # imm = 0x200
movq %r9, %rsi
jmp 0x68ad
movabsq $0x8, %rdx
movq %rax, %rcx
cmpq $0x3c, %rdx
je 0x6bae
movq %rdx, %rsi
shlq $0xa, %rsi
addq %rax, %rsi
addq $0x9100, %rsi           # imm = 0x9100
movl %edx, %edi
xorl %r8d, %r8d
cmpq $0x300, %r8             # imm = 0x300
je 0x6a0e
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
jmp 0x69bc
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
jmp 0x699c
xorl %ecx, %ecx
leaq 0x1f029(%rip), %rdx     # 0x25be0
leaq 0x1ee22(%rip), %rsi     # 0x259e0
leaq 0x23ba4b(%rip), %rax    # 0x242610
xorl %edi, %edi
cmpq $0x600, %rcx            # imm = 0x600
je 0x6c23
leaq (%rax,%rcx), %r8
movq %r8, (%rsi)
movl $0x3, (%rdx)
leaq (%rcx,%rax), %r9
addq $0x40, %r9
movq %r9, -0x28(%r9)
leaq 0x80(%rcx,%rax), %r10
movq %r10, -0x70(%r10)
movl %edi, -0x80(%r10)
movq %r10, -0x28(%r10)
movq %r8, -0x30(%r10)
movl %edi, -0x40(%r10)
movq %r8, 0x18(%r10)
movq %r9, 0x10(%r10)
movl %edi, (%r10)
incl %edi
addq $0x4, %rdx
addq $0x8, %rsi
addq $0xc0, %rcx
jmp 0x6bc7
movl $0x4, %ecx
movl %ecx, 0x23b9e6(%rip)    # 0x242614
leaq 0x23bcdb(%rip), %rdx    # 0x242910
movq %rdx, 0x23b9f4(%rip)    # 0x242630
movq %rax, 0x23b9f5(%rip)    # 0x242638
movl $0x3, %edx
movl %edx, 0x23ba06(%rip)    # 0x242654
leaq 0x23bc7b(%rip), %rsi    # 0x2428d0
movq %rsi, 0x23ba14(%rip)    # 0x242670
leaq 0x23b9ed(%rip), %r11    # 0x242650
movq %r11, 0x23ba0e(%rip)    # 0x242678
movl $0x1, %r8d
movl %r8d, 0x23ba1d(%rip)    # 0x242694
leaq 0x23ba92(%rip), %rsi    # 0x242710
movq %rsi, 0x23ba2b(%rip)    # 0x2426b0
leaq 0x23ba04(%rip), %rdi    # 0x242690
movq %rdi, 0x23ba25(%rip)    # 0x2426b8
movl $0x5, %esi
movl %esi, 0x23ba36(%rip)    # 0x2426d4
leaq 0x23bd2b(%rip), %r9     # 0x2429d0
movq %r9, 0x23ba44(%rip)     # 0x2426f0
leaq 0x23ba1d(%rip), %r10    # 0x2426d0
movq %r10, 0x23ba3e(%rip)    # 0x2426f8
andl $0x0, 0x23ba53(%rip)    # 0x242714
movq %rdi, 0x23ba68(%rip)    # 0x242730
movq %rdi, 0x23ba69(%rip)    # 0x242738
movl $0x2, %r9d
movl %r9d, 0x23ba78(%rip)    # 0x242754
leaq 0x23baed(%rip), %rdi    # 0x2427d0
movq %rdi, 0x23ba86(%rip)    # 0x242770
leaq 0x23ba5f(%rip), %r14    # 0x242750
movq %r14, 0x23ba80(%rip)    # 0x242778
movl $0x6, %edi
movl %edi, 0x23ba91(%rip)    # 0x242794
leaq 0x23bd86(%rip), %rbx    # 0x242a90
movq %rbx, 0x23ba9f(%rip)    # 0x2427b0
leaq 0x23ba78(%rip), %rbx    # 0x242790
movq %rbx, 0x23ba99(%rip)    # 0x2427b8
movl %r8d, 0x23baae(%rip)    # 0x2427d4
movq %r14, 0x23bac3(%rip)    # 0x2427f0
movq %r14, 0x23bac4(%rip)    # 0x2427f8
movl %edx, 0x23bada(%rip)    # 0x242814
leaq 0x23bb4f(%rip), %r14    # 0x242890
movq %r14, 0x23bae8(%rip)    # 0x242830
leaq 0x23bac1(%rip), %r15    # 0x242810
movq %r15, 0x23bae2(%rip)    # 0x242838
movl $0x7, %ebp
movl %ebp, 0x23baf3(%rip)    # 0x242854
leaq 0x23bde8(%rip), %r14    # 0x242b50
movq %r14, 0x23bb01(%rip)    # 0x242870
leaq 0x23bada(%rip), %r14    # 0x242850
movq %r14, 0x23bafb(%rip)    # 0x242878
movl %r9d, 0x23bb10(%rip)    # 0x242894
movq %r15, 0x23bb25(%rip)    # 0x2428b0
movq %r15, 0x23bb26(%rip)    # 0x2428b8
andl $0x0, 0x23bb3b(%rip)    # 0x2428d4
movq %r11, 0x23bb50(%rip)    # 0x2428f0
movq %r11, 0x23bb51(%rip)    # 0x2428f8
andl $0x0, 0x23bb66(%rip)    # 0x242914
movq %rax, 0x23bb7b(%rip)    # 0x242930
movq %rax, 0x23bb7c(%rip)    # 0x242938
movl %esi, 0x23bb92(%rip)    # 0x242954
leaq 0x23bc87(%rip), %rax    # 0x242a50
movq %rax, 0x23bba0(%rip)    # 0x242970
leaq 0x23bb79(%rip), %rax    # 0x242950
movq %rax, 0x23bb9a(%rip)    # 0x242978
movl %ebp, 0x23bbb0(%rip)    # 0x242994
leaq 0x23bda5(%rip), %r11    # 0x242b90
movq %r11, 0x23bbbe(%rip)    # 0x2429b0
leaq 0x23bb97(%rip), %r11    # 0x242990
movq %r11, 0x23bbb8(%rip)    # 0x2429b8
movl %r8d, 0x23bbcd(%rip)    # 0x2429d4
movq %r10, 0x23bbe2(%rip)    # 0x2429f0
movq %r10, 0x23bbe3(%rip)    # 0x2429f8
movl %edi, 0x23bbf9(%rip)    # 0x242a14
leaq 0x23bcee(%rip), %r8     # 0x242b10
movq %r8, 0x23bc07(%rip)     # 0x242a30
leaq 0x23bbe0(%rip), %r8     # 0x242a10
movq %r8, 0x23bc01(%rip)     # 0x242a38
movl %ecx, 0x23bc17(%rip)    # 0x242a54
movq %rax, 0x23bc2c(%rip)    # 0x242a70
movq %rax, 0x23bc2d(%rip)    # 0x242a78
movl %r9d, 0x23bc42(%rip)    # 0x242a94
movq %rbx, 0x23bc57(%rip)    # 0x242ab0
movq %rbx, 0x23bc58(%rip)    # 0x242ab8
movl %ebp, 0x23bc6e(%rip)    # 0x242ad4
leaq 0x23bd63(%rip), %rax    # 0x242bd0
movq %rax, 0x23bc7c(%rip)    # 0x242af0
leaq 0x23bc55(%rip), %rax    # 0x242ad0
movq %rax, 0x23bc76(%rip)    # 0x242af8
movl %esi, 0x23bc8c(%rip)    # 0x242b14
movq %r8, 0x23bca1(%rip)     # 0x242b30
movq %r8, 0x23bca2(%rip)     # 0x242b38
movl %edx, 0x23bcb8(%rip)    # 0x242b54
movq %r14, 0x23bccd(%rip)    # 0x242b70
movq %r14, 0x23bcce(%rip)    # 0x242b78
movl %ecx, 0x23bce4(%rip)    # 0x242b94
movq %r11, 0x23bcf9(%rip)    # 0x242bb0
movq %r11, 0x23bcfa(%rip)    # 0x242bb8
movl %edi, 0x23bd10(%rip)    # 0x242bd4
movq %rax, 0x23bd25(%rip)    # 0x242bf0
movq %rax, 0x23bd26(%rip)    # 0x242bf8
movl $0x8, 0x23b724(%rip)    # 0x242600
movl $0x18, 0x23b71e(%rip)   # 0x242604
popq %rbx
popq %r14
popq %r15
popq %rbp
retq