// File: /workspace/github_c_makefile_star2_O0/mishun[P]plantri/plantri.c
// Function: reduce5
static void 
reduce5(EDGE *e, EDGE *list[])

/* The inverse operation to extend5().
   Deletes the vertex with valence 5 at the end of e->next. It is not 
   checked whether the vertex really has valence 5 -- this has to be made
   sure in advance. The vector list[] must contain the edges deleted before.
   It might be that one of the edges leading to the new vertex now is
   an entry of firstedge[] */
{
    firstedge[e->start] = e;

    e->next = list[0];
    list[2]->next->prev = list[2];
    (degree[e->start])++;

    e = e->invers;
    
/* Delete the edge on the prev side */
    firstedge[e->start] = e;
    e->prev = e->prev->prev; e->prev->next = e; 
    (degree[e->start])--;

    e = e->prev->invers;

    firstedge[e->start] = e;
/* Delete the edge and insert the old edge: */
    e->prev = list[1];
    list[1]->prev->next = list[1];

    e = e->prev->prev->invers;

    firstedge[e->start] = e;
/* Delete the edge and insert the old edge: */
    e->prev = list[3];
    list[3]->prev->next = list[3];

    e = e->prev->prev->invers;

    firstedge[e->start] = e;
    e->prev = e->prev->prev; e->prev->next = e; 
    (degree[e->start])--;

    nv--;  
    ne-=6;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rdx
movq -0x8(%rbp), %rax
movslq (%rax), %rcx
leaq 0x100a2(%rip), %rax     # 0x3da00
movq %rdx, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movq (%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x18(%rax), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rax
movslq (%rax), %rcx
leaq 0x10269(%rip), %rax     # 0x3dc00
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
leaq 0x1025c(%rip), %rax     # 0x3dc00
movl %edx, (%rax,%rcx,4)
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdx
movq -0x8(%rbp), %rax
movslq (%rax), %rcx
leaq 0x1003b(%rip), %rax     # 0x3da00
movq %rdx, (%rax,%rcx,8)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rax
movslq (%rax), %rcx
leaq 0x10205(%rip), %rax     # 0x3dc00
movl (%rax,%rcx,4), %edx
addl $-0x1, %edx
leaq 0x101f8(%rip), %rax     # 0x3dc00
movl %edx, (%rax,%rcx,4)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdx
movq -0x8(%rbp), %rax
movslq (%rax), %rcx
leaq 0xffd3(%rip), %rax      # 0x3da00
movq %rdx, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x8(%rax), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdx
movq -0x8(%rbp), %rax
movslq (%rax), %rcx
leaq 0xff81(%rip), %rax      # 0x3da00
movq %rdx, (%rax,%rcx,8)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rcx
movq -0x10(%rbp), %rax
movq 0x18(%rax), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
movq 0x20(%rax), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rdx
movq -0x8(%rbp), %rax
movslq (%rax), %rcx
leaq 0xff2f(%rip), %rax      # 0x3da00
movq %rdx, (%rax,%rcx,8)
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x10(%rax)
movq -0x8(%rbp), %rcx
movq -0x8(%rbp), %rax
movq 0x10(%rax), %rax
movq %rcx, 0x18(%rax)
movq -0x8(%rbp), %rax
movslq (%rax), %rcx
leaq 0x100f9(%rip), %rax     # 0x3dc00
movl (%rax,%rcx,4), %edx
addl $-0x1, %edx
leaq 0x100ec(%rip), %rax     # 0x3dc00
movl %edx, (%rax,%rcx,4)
movl 0x22cb03(%rip), %eax    # 0x25a620
addl $-0x1, %eax
movl %eax, 0x22cafa(%rip)    # 0x25a620
movl 0x22caf8(%rip), %eax    # 0x25a624
subl $0x6, %eax
movl %eax, 0x22caef(%rip)    # 0x25a624
popq %rbp
retq
nopw (%rax,%rax)