// File: /workspace/github_c_makefile_star2_O0/mishun[P]plantri/plantri.c
// Function: extend_five
static void
extend_five(EDGE *ref)

/* This routine is another implementation of the five-operation
   in Batagelj's paper. */
{
    EDGE *a,*b,*start,*dummy;

    start=five_op(nv);
    degree[nv]=5; firstedge[nv]=start;


    b=ref->prev;
    a=ref->next;
    dummy=start+1;
    b->next=a->prev=dummy; 
    dummy->next=a; dummy->prev=b;
    dummy->start=start->end=a->start;
    firstedge[a->start]=a;

    a=b->invers; b=a->prev;
    start +=2; /*2*/ dummy=start+1;
    b->next=a->prev=dummy; 
    dummy->next=a; dummy->prev=b;
    dummy->start=start->end=a->start;
    (degree[a->start])++;

    a=b->invers; b=a->prev->prev->prev; dummy=ref->invers;
    b->next=dummy; 
    dummy->prev=b;
    firstedge[a->start]=a;
    (degree[a->start])--;

    a=b->invers; b=a->prev;
    start +=2; /*4*/ dummy=start+1;
    b->next=a->prev=dummy; 
    dummy->next=a; dummy->prev=b;
    dummy->start=start->end=a->start;
    (degree[a->start])++;

    dummy=b->invers->prev->invers; /* the other remaining edge of the "v" */

    dummy->start=dummy->invers->end=nv;
    dummy->next=start-4; dummy->prev=start;
    start->next=dummy; (start-4)->prev=dummy;

    ref->start=ref->invers->end=nv;
    ref->next=start; ref->prev=start-2;
    start->prev=ref; (start-2)->next=ref;

    nv++;
    ne+=6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
imull $0x6, 0x230d31(%rip), %eax # 0x25a620
movslq %eax, %rcx
leaq 0x230d37(%rip), %rax    # 0x25a630
addq $0x6000, %rax           # imm = 0x6000
shlq $0x6, %rcx
addq %rcx, %rax
movq %rax, -0x20(%rbp)
movslq 0x230d0f(%rip), %rcx    # 0x25a620
leaq 0x142e8(%rip), %rax     # 0x3dc00
movl $0x5, (%rax,%rcx,4)
movq -0x20(%rbp), %rdx
movslq 0x230cf6(%rip), %rcx    # 0x25a620
leaq 0x140cf(%rip), %rax     # 0x3da00
movq %rdx, (%rax,%rcx,8)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x18(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x20(%rbp), %rax
addq $0x40, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
movl (%rax), %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
movq -0x10(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq (%rax), %rcx
leaq 0x14056(%rip), %rax     # 0x3da00
movq %rdx, (%rax,%rcx,8)
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x20(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
addq $0x40, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
movl (%rax), %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
movq -0x10(%rbp), %rax
movslq (%rax), %rcx
leaq 0x141d3(%rip), %rax     # 0x3dc00
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
leaq 0x141c6(%rip), %rax     # 0x3dc00
movl %edx, (%rax,%rcx,4)
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rdx
movq -0x10(%rbp), %rax
movslq (%rax), %rcx
leaq 0x13f6d(%rip), %rax     # 0x3da00
movq %rdx, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movslq (%rax), %rcx
leaq 0x1415b(%rip), %rax     # 0x3dc00
movl (%rax,%rcx,4), %edx
addl $-0x1, %edx
leaq 0x1414e(%rip), %rax     # 0x3dc00
movl %edx, (%rax,%rcx,4)
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq %rax, -0x18(%rbp)
movq -0x20(%rbp), %rax
addq $0x80, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rax
addq $0x40, %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rcx
movq -0x10(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
movl (%rax), %ecx
movq -0x20(%rbp), %rax
movl %ecx, 0x4(%rax)
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
movq -0x10(%rbp), %rax
movslq (%rax), %rcx
leaq 0x140cc(%rip), %rax     # 0x3dc00
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
leaq 0x140bf(%rip), %rax     # 0x3dc00
movl %edx, (%rax,%rcx,4)
movq -0x18(%rbp), %rax
movq 0x20(%rax), %rax
movq 0x10(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, -0x28(%rbp)
movl 0x230ac2(%rip), %ecx    # 0x25a620
movq -0x28(%rbp), %rax
movq 0x20(%rax), %rax
movl %ecx, 0x4(%rax)
movq -0x28(%rbp), %rax
movl %ecx, (%rax)
movq -0x20(%rbp), %rcx
addq $-0x100, %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x28(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, -0xf0(%rax)
movl 0x230a71(%rip), %ecx    # 0x25a620
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movl %ecx, 0x4(%rax)
movq -0x8(%rbp), %rax
movl %ecx, (%rax)
movq -0x20(%rbp), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x20(%rbp), %rcx
addq $-0x80, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rcx
movq -0x20(%rbp), %rax
movq %rcx, -0x68(%rax)
movl 0x230a26(%rip), %eax    # 0x25a620
addl $0x1, %eax
movl %eax, 0x230a1d(%rip)    # 0x25a620
movl 0x230a1b(%rip), %eax    # 0x25a624
addl $0x6, %eax
movl %eax, 0x230a12(%rip)    # 0x25a624
popq %rbp
retq
nopw %cs:(%rax,%rax)