// File: /workspace/github_c_makefile_star2_O1/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 0x23ccbc(%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 0x7964
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
movl $0x8, %edx
leaq 0x240d3e(%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 0x79fb
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 0x79e2
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 0x7adc
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 0x7ac6
xorl %ecx, %ecx
leaq 0x1ff16(%rip), %rdx     # 0x27bf0
leaq 0x1fd0f(%rip), %rsi     # 0x279f0
leaq 0x23c938(%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 0x7cea
movl $0x4, %ecx
movl %ecx, 0x23c8d5(%rip)    # 0x244624
leaq 0x23cbca(%rip), %rdx    # 0x244920
movq %rdx, 0x23c8e3(%rip)    # 0x244640
movq %rax, 0x23c8e4(%rip)    # 0x244648
movl $0x3, %edx
movl %edx, 0x23c8f5(%rip)    # 0x244664
leaq 0x23cb6a(%rip), %rsi    # 0x2448e0
movq %rsi, 0x23c903(%rip)    # 0x244680
leaq 0x23c8dc(%rip), %r11    # 0x244660
movq %r11, 0x23c8fd(%rip)    # 0x244688
movl $0x1, %r8d
movl %r8d, 0x23c90c(%rip)    # 0x2446a4
leaq 0x23c981(%rip), %rsi    # 0x244720
movq %rsi, 0x23c91a(%rip)    # 0x2446c0
leaq 0x23c8f3(%rip), %rdi    # 0x2446a0
movq %rdi, 0x23c914(%rip)    # 0x2446c8
movl $0x5, %esi
movl %esi, 0x23c925(%rip)    # 0x2446e4
leaq 0x23cc1a(%rip), %r9     # 0x2449e0
movq %r9, 0x23c933(%rip)     # 0x244700
leaq 0x23c90c(%rip), %r10    # 0x2446e0
movq %r10, 0x23c92d(%rip)    # 0x244708
xorl %r15d, %r15d
movl %r15d, 0x23c93f(%rip)   # 0x244724
movq %rdi, 0x23c954(%rip)    # 0x244740
movq %rdi, 0x23c955(%rip)    # 0x244748
movl $0x2, %r9d
movl %r9d, 0x23c964(%rip)    # 0x244764
leaq 0x23c9d9(%rip), %rdi    # 0x2447e0
movq %rdi, 0x23c972(%rip)    # 0x244780
leaq 0x23c94b(%rip), %r14    # 0x244760
movq %r14, 0x23c96c(%rip)    # 0x244788
movl $0x6, %edi
movl %edi, 0x23c97d(%rip)    # 0x2447a4
leaq 0x23cc72(%rip), %rbx    # 0x244aa0
movq %rbx, 0x23c98b(%rip)    # 0x2447c0
leaq 0x23c964(%rip), %rbx    # 0x2447a0
movq %rbx, 0x23c985(%rip)    # 0x2447c8
movl %r8d, 0x23c99a(%rip)    # 0x2447e4
movq %r14, 0x23c9af(%rip)    # 0x244800
movq %r14, 0x23c9b0(%rip)    # 0x244808
movl %edx, 0x23c9c6(%rip)    # 0x244824
leaq 0x23ca3b(%rip), %r14    # 0x2448a0
movq %r14, 0x23c9d4(%rip)    # 0x244840
leaq 0x23c9ad(%rip), %r12    # 0x244820
movq %r12, 0x23c9ce(%rip)    # 0x244848
movl $0x7, %ebp
movl %ebp, 0x23c9df(%rip)    # 0x244864
leaq 0x23ccd4(%rip), %r14    # 0x244b60
movq %r14, 0x23c9ed(%rip)    # 0x244880
leaq 0x23c9c6(%rip), %r14    # 0x244860
movq %r14, 0x23c9e7(%rip)    # 0x244888
movl %r9d, 0x23c9fc(%rip)    # 0x2448a4
movq %r12, 0x23ca11(%rip)    # 0x2448c0
movq %r12, 0x23ca12(%rip)    # 0x2448c8
movl %r15d, 0x23ca27(%rip)   # 0x2448e4
movq %r11, 0x23ca3c(%rip)    # 0x244900
movq %r11, 0x23ca3d(%rip)    # 0x244908
movl %r15d, 0x23ca52(%rip)   # 0x244924
movq %rax, 0x23ca67(%rip)    # 0x244940
movq %rax, 0x23ca68(%rip)    # 0x244948
movl %esi, 0x23ca7e(%rip)    # 0x244964
leaq 0x23cb73(%rip), %rax    # 0x244a60
movq %rax, 0x23ca8c(%rip)    # 0x244980
leaq 0x23ca65(%rip), %rax    # 0x244960
movq %rax, 0x23ca86(%rip)    # 0x244988
movl %ebp, 0x23ca9c(%rip)    # 0x2449a4
leaq 0x23cc91(%rip), %r11    # 0x244ba0
movq %r11, 0x23caaa(%rip)    # 0x2449c0
leaq 0x23ca83(%rip), %r11    # 0x2449a0
movq %r11, 0x23caa4(%rip)    # 0x2449c8
movl %r8d, 0x23cab9(%rip)    # 0x2449e4
movq %r10, 0x23cace(%rip)    # 0x244a00
movq %r10, 0x23cacf(%rip)    # 0x244a08
movl %edi, 0x23cae5(%rip)    # 0x244a24
leaq 0x23cbda(%rip), %r8     # 0x244b20
movq %r8, 0x23caf3(%rip)     # 0x244a40
leaq 0x23cacc(%rip), %r8     # 0x244a20
movq %r8, 0x23caed(%rip)     # 0x244a48
movl %ecx, 0x23cb03(%rip)    # 0x244a64
movq %rax, 0x23cb18(%rip)    # 0x244a80
movq %rax, 0x23cb19(%rip)    # 0x244a88
movl %r9d, 0x23cb2e(%rip)    # 0x244aa4
movq %rbx, 0x23cb43(%rip)    # 0x244ac0
movq %rbx, 0x23cb44(%rip)    # 0x244ac8
movl %ebp, 0x23cb5a(%rip)    # 0x244ae4
leaq 0x23cc4f(%rip), %rax    # 0x244be0
movq %rax, 0x23cb68(%rip)    # 0x244b00
leaq 0x23cb41(%rip), %rax    # 0x244ae0
movq %rax, 0x23cb62(%rip)    # 0x244b08
movl %esi, 0x23cb78(%rip)    # 0x244b24
movq %r8, 0x23cb8d(%rip)     # 0x244b40
movq %r8, 0x23cb8e(%rip)     # 0x244b48
movl %edx, 0x23cba4(%rip)    # 0x244b64
movq %r14, 0x23cbb9(%rip)    # 0x244b80
movq %r14, 0x23cbba(%rip)    # 0x244b88
movl %ecx, 0x23cbd0(%rip)    # 0x244ba4
movq %r11, 0x23cbe5(%rip)    # 0x244bc0
movq %r11, 0x23cbe6(%rip)    # 0x244bc8
movl %edi, 0x23cbfc(%rip)    # 0x244be4
movq %rax, 0x23cc11(%rip)    # 0x244c00
movq %rax, 0x23cc12(%rip)    # 0x244c08
movl $0x8, 0x23c610(%rip)    # 0x244610
movl $0x18, 0x23c60a(%rip)   # 0x244614
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq