// File: /workspace/github_c_makefile_star2_O0/ugobas[P]tnm/buildup.c
// Function: Get_previous_nuc
void Get_previous_nuc(char *apre, struct bond *bond, char res){
  // Backbone
  char *name=bond->atom->name;
  if(strncmp(name,"P  ",3)==0){
    strcpy(apre, "O3'");
  }else if(strncmp(name,"OP1",3)==0){
    strcpy(apre, "P  ");
  }else if(strncmp(name,"OP2",3)==0){
    strcpy(apre, "P  ");
  }else if(strncmp(name,"O5'",3)==0){
    strcpy(apre, "P  ");
  }else if(strncmp(name,"C5'",3)==0){
    strcpy(apre, "O5'");
  }else if(strncmp(name,"C4'",3)==0){
    strcpy(apre, "C5'");
  }else if(strncmp(name,"O4'",3)==0){
    strcpy(apre, "C4'");
  }else if(strncmp(name,"C3'",3)==0){
    strcpy(apre, "C4'");
  }else if(strncmp(name,"O3'",3)==0){
    strcpy(apre, "C3'");
  }else if(strncmp(name,"C2'",3)==0){
    strcpy(apre, "C3'");
  }else if(strncmp(name,"O2'",3)==0){ // RNA!
    strcpy(apre, "C2'");
  }else if(strncmp(name,"C1'",3)==0){
    strcpy(apre, "C2'");
    // Bases: Purines T,C
  }else if((res=='T')||(res=='U')||(res=='C')){
    if(strncmp(name,"N1 ",3)==0){
      strcpy(apre, "C1'");
    }else if(strncmp(name,"C2 ",3)==0){
      strcpy(apre, "N1 ");
    }else if(strncmp(name,"O2 ",3)==0){
      strcpy(apre, "C2 ");
    }else if(strncmp(name,"N3 ",3)==0){
      strcpy(apre, "C2 ");
    }else if(strncmp(name,"C4 ",3)==0){
      strcpy(apre, "N3 ");
    }else if(strncmp(name,"O4 ",3)==0){
      strcpy(apre, "C4 ");
    }else if(strncmp(name,"N4 ",3)==0){
      strcpy(apre, "C4 ");
    }else if(strncmp(name,"C5 ",3)==0){
      strcpy(apre, "C4 ");
    }else if(strncmp(name,"C7 ",3)==0){
      strcpy(apre, "C5 ");
    }else if(strncmp(name,"C6 ",3)==0){
      strcpy(apre, "N1 ");
    }
    // Pyrimidine
  }else if((res=='G')||(res=='A')){
    if(strncmp(name,"N9",2)==0){
      strcpy(apre, "C1'");
    }else if(strncmp(name,"C8",2)==0){
      strcpy(apre, "N9");
    }else if(strncmp(name,"N7",2)==0){
      strcpy(apre, "C8");
    }else if(strncmp(name,"C5",2)==0){
      strcpy(apre, "N7");
    }else if(strncmp(name,"C6",2)==0){
      strcpy(apre, "C5");
    }else if(strncmp(name,"O6",2)==0){
      strcpy(apre, "C6");
    }else if(strncmp(name,"N6",2)==0){
      strcpy(apre, "C6");
    }else if(strncmp(name,"N1",2)==0){
      strcpy(apre, "C6");
    }else if(strncmp(name,"C2",2)==0){
      strcpy(apre, "N1");
    }else if(strncmp(name,"N2",2)==0){
      strcpy(apre, "C2");
    }else if(strncmp(name,"N3",2)==0){
      strcpy(apre, "C2");
    }else if(strncmp(name,"C4",2)==0){
      strcpy(apre, "N9");
    }
  }else{
    printf("WARNING, unknown atom name: %s res %d chain %d\n",
	   bond->atom->name, bond->atom->res, bond->atom->chain);
  }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movb %al, -0x11(%rbp)
movq -0x10(%rbp), %rax
movq (%rax), %rax
addq $0x18, %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rdi
leaq 0x5d1a3(%rip), %rsi     # 0x7ba02
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1e883
movq -0x8(%rbp), %rdi
leaq 0x5d185(%rip), %rsi     # 0x7b9fe
callq 0x1060
jmp 0x1ef27
movq -0x20(%rbp), %rdi
leaq 0x5d6f7(%rip), %rsi     # 0x7bf85
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1e8b2
movq -0x8(%rbp), %rdi
leaq 0x5d15a(%rip), %rsi     # 0x7ba02
callq 0x1060
jmp 0x1ef25
movq -0x20(%rbp), %rdi
leaq 0x5d6cc(%rip), %rsi     # 0x7bf89
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1e8e1
movq -0x8(%rbp), %rdi
leaq 0x5d12b(%rip), %rsi     # 0x7ba02
callq 0x1060
jmp 0x1ef23
movq -0x20(%rbp), %rdi
leaq 0x5d0ff(%rip), %rsi     # 0x7b9eb
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1e910
movq -0x8(%rbp), %rdi
leaq 0x5d0fc(%rip), %rsi     # 0x7ba02
callq 0x1060
jmp 0x1ef21
movq -0x20(%rbp), %rdi
leaq 0x5d0d7(%rip), %rsi     # 0x7b9f2
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1e93f
movq -0x8(%rbp), %rdi
leaq 0x5d0b6(%rip), %rsi     # 0x7b9eb
callq 0x1060
jmp 0x1ef1f
movq -0x20(%rbp), %rdi
leaq 0x5d0ac(%rip), %rsi     # 0x7b9f6
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1e96e
movq -0x8(%rbp), %rdi
leaq 0x5d08e(%rip), %rsi     # 0x7b9f2
callq 0x1060
jmp 0x1ef1d
movq -0x20(%rbp), %rdi
leaq 0x5d614(%rip), %rsi     # 0x7bf8d
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1e99d
movq -0x8(%rbp), %rdi
leaq 0x5d063(%rip), %rsi     # 0x7b9f6
callq 0x1060
jmp 0x1ef1b
movq -0x20(%rbp), %rdi
leaq 0x5d052(%rip), %rsi     # 0x7b9fa
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1e9cc
movq -0x8(%rbp), %rdi
leaq 0x5d034(%rip), %rsi     # 0x7b9f6
callq 0x1060
jmp 0x1ef19
movq -0x20(%rbp), %rdi
leaq 0x5d027(%rip), %rsi     # 0x7b9fe
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1e9fb
movq -0x8(%rbp), %rdi
leaq 0x5d009(%rip), %rsi     # 0x7b9fa
callq 0x1060
jmp 0x1ef17
movq -0x20(%rbp), %rdi
leaq 0x5d58b(%rip), %rsi     # 0x7bf91
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ea2a
movq -0x8(%rbp), %rdi
leaq 0x5cfda(%rip), %rsi     # 0x7b9fa
callq 0x1060
jmp 0x1ef15
movq -0x20(%rbp), %rdi
leaq 0x5d560(%rip), %rsi     # 0x7bf95
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ea59
movq -0x8(%rbp), %rdi
leaq 0x5d542(%rip), %rsi     # 0x7bf91
callq 0x1060
jmp 0x1ef13
movq -0x20(%rbp), %rdi
leaq 0x5d535(%rip), %rsi     # 0x7bf99
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ea88
movq -0x8(%rbp), %rdi
leaq 0x5d513(%rip), %rsi     # 0x7bf91
callq 0x1060
jmp 0x1ef11
movsbl -0x11(%rbp), %eax
cmpl $0x54, %eax
je 0x1eaa7
movsbl -0x11(%rbp), %eax
cmpl $0x55, %eax
je 0x1eaa7
movsbl -0x11(%rbp), %eax
cmpl $0x43, %eax
jne 0x1ec89
movq -0x20(%rbp), %rdi
leaq 0x5d4eb(%rip), %rsi     # 0x7bf9d
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ead6
movq -0x8(%rbp), %rdi
leaq 0x5d4cd(%rip), %rsi     # 0x7bf99
callq 0x1060
jmp 0x1ec84
movq -0x20(%rbp), %rdi
leaq 0x5d4c0(%rip), %rsi     # 0x7bfa1
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1eb05
movq -0x8(%rbp), %rdi
leaq 0x5d4a2(%rip), %rsi     # 0x7bf9d
callq 0x1060
jmp 0x1ec82
movq -0x20(%rbp), %rdi
leaq 0x5d495(%rip), %rsi     # 0x7bfa5
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1eb34
movq -0x8(%rbp), %rdi
leaq 0x5d477(%rip), %rsi     # 0x7bfa1
callq 0x1060
jmp 0x1ec80
movq -0x20(%rbp), %rdi
leaq 0x5d46a(%rip), %rsi     # 0x7bfa9
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1eb63
movq -0x8(%rbp), %rdi
leaq 0x5d448(%rip), %rsi     # 0x7bfa1
callq 0x1060
jmp 0x1ec7e
movq -0x20(%rbp), %rdi
leaq 0x5d43f(%rip), %rsi     # 0x7bfad
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1eb92
movq -0x8(%rbp), %rdi
leaq 0x5d421(%rip), %rsi     # 0x7bfa9
callq 0x1060
jmp 0x1ec7c
movq -0x20(%rbp), %rdi
leaq 0x5d414(%rip), %rsi     # 0x7bfb1
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ebc1
movq -0x8(%rbp), %rdi
leaq 0x5d3f6(%rip), %rsi     # 0x7bfad
callq 0x1060
jmp 0x1ec7a
movq -0x20(%rbp), %rdi
leaq 0x5d3e9(%rip), %rsi     # 0x7bfb5
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ebf0
movq -0x8(%rbp), %rdi
leaq 0x5d3c7(%rip), %rsi     # 0x7bfad
callq 0x1060
jmp 0x1ec78
movq -0x20(%rbp), %rdi
leaq 0x5d3be(%rip), %rsi     # 0x7bfb9
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ec1c
movq -0x8(%rbp), %rdi
leaq 0x5d398(%rip), %rsi     # 0x7bfad
callq 0x1060
jmp 0x1ec76
movq -0x20(%rbp), %rdi
leaq 0x5d396(%rip), %rsi     # 0x7bfbd
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ec48
movq -0x8(%rbp), %rdi
leaq 0x5d378(%rip), %rsi     # 0x7bfb9
callq 0x1060
jmp 0x1ec74
movq -0x20(%rbp), %rdi
leaq 0x5d36e(%rip), %rsi     # 0x7bfc1
movl $0x3, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ec72
movq -0x8(%rbp), %rdi
leaq 0x5d330(%rip), %rsi     # 0x7bf9d
callq 0x1060
jmp 0x1ec74
jmp 0x1ec76
jmp 0x1ec78
jmp 0x1ec7a
jmp 0x1ec7c
jmp 0x1ec7e
jmp 0x1ec80
jmp 0x1ec82
jmp 0x1ec84
jmp 0x1ef0f
movsbl -0x11(%rbp), %eax
cmpl $0x47, %eax
je 0x1ec9f
movsbl -0x11(%rbp), %eax
cmpl $0x41, %eax
jne 0x1eee0
movq -0x20(%rbp), %rdi
leaq 0x5d31b(%rip), %rsi     # 0x7bfc5
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ecce
movq -0x8(%rbp), %rdi
leaq 0x5d2d5(%rip), %rsi     # 0x7bf99
callq 0x1060
jmp 0x1eede
movq -0x20(%rbp), %rdi
leaq 0x5d2ef(%rip), %rsi     # 0x7bfc8
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ecfd
movq -0x8(%rbp), %rdi
leaq 0x5d2d2(%rip), %rsi     # 0x7bfc5
callq 0x1060
jmp 0x1eedc
movq -0x20(%rbp), %rdi
leaq 0x5d2c3(%rip), %rsi     # 0x7bfcb
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ed2c
movq -0x8(%rbp), %rdi
leaq 0x5d2a6(%rip), %rsi     # 0x7bfc8
callq 0x1060
jmp 0x1eeda
movq -0x20(%rbp), %rdi
leaq 0x5d297(%rip), %rsi     # 0x7bfce
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ed5b
movq -0x8(%rbp), %rdi
leaq 0x5d27a(%rip), %rsi     # 0x7bfcb
callq 0x1060
jmp 0x1eed8
movq -0x20(%rbp), %rdi
leaq 0x5d26b(%rip), %rsi     # 0x7bfd1
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ed8a
movq -0x8(%rbp), %rdi
leaq 0x5d24e(%rip), %rsi     # 0x7bfce
callq 0x1060
jmp 0x1eed6
movq -0x20(%rbp), %rdi
leaq 0x5d23f(%rip), %rsi     # 0x7bfd4
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1edb9
movq -0x8(%rbp), %rdi
leaq 0x5d222(%rip), %rsi     # 0x7bfd1
callq 0x1060
jmp 0x1eed4
movq -0x20(%rbp), %rdi
leaq 0x5d213(%rip), %rsi     # 0x7bfd7
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ede8
movq -0x8(%rbp), %rdi
leaq 0x5d1f3(%rip), %rsi     # 0x7bfd1
callq 0x1060
jmp 0x1eed2
movq -0x20(%rbp), %rdi
leaq 0x5d1e7(%rip), %rsi     # 0x7bfda
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ee17
movq -0x8(%rbp), %rdi
leaq 0x5d1c4(%rip), %rsi     # 0x7bfd1
callq 0x1060
jmp 0x1eed0
movq -0x20(%rbp), %rdi
leaq 0x5d1bb(%rip), %rsi     # 0x7bfdd
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ee46
movq -0x8(%rbp), %rdi
leaq 0x5d19e(%rip), %rsi     # 0x7bfda
callq 0x1060
jmp 0x1eece
movq -0x20(%rbp), %rdi
leaq 0x5d18f(%rip), %rsi     # 0x7bfe0
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ee72
movq -0x8(%rbp), %rdi
leaq 0x5d172(%rip), %rsi     # 0x7bfdd
callq 0x1060
jmp 0x1eecc
movq -0x20(%rbp), %rdi
leaq 0x5d166(%rip), %rsi     # 0x7bfe3
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1ee9e
movq -0x8(%rbp), %rdi
leaq 0x5d146(%rip), %rsi     # 0x7bfdd
callq 0x1060
jmp 0x1eeca
movq -0x20(%rbp), %rdi
leaq 0x5d13d(%rip), %rsi     # 0x7bfe6
movl $0x2, %edx
callq 0x1050
cmpl $0x0, %eax
jne 0x1eec8
movq -0x8(%rbp), %rdi
leaq 0x5d102(%rip), %rsi     # 0x7bfc5
callq 0x1060
jmp 0x1eeca
jmp 0x1eecc
jmp 0x1eece
jmp 0x1eed0
jmp 0x1eed2
jmp 0x1eed4
jmp 0x1eed6
jmp 0x1eed8
jmp 0x1eeda
jmp 0x1eedc
jmp 0x1eede
jmp 0x1ef0d
movq -0x10(%rbp), %rax
movq (%rax), %rsi
addq $0x18, %rsi
movq -0x10(%rbp), %rax
movq (%rax), %rax
movl 0x64(%rax), %edx
movq -0x10(%rbp), %rax
movq (%rax), %rax
movl 0x6c(%rax), %ecx
leaq 0x5d04f(%rip), %rdi     # 0x7bf55
movb $0x0, %al
callq 0x10d0
jmp 0x1ef0f
jmp 0x1ef11
jmp 0x1ef13
jmp 0x1ef15
jmp 0x1ef17
jmp 0x1ef19
jmp 0x1ef1b
jmp 0x1ef1d
jmp 0x1ef1f
jmp 0x1ef21
jmp 0x1ef23
jmp 0x1ef25
jmp 0x1ef27
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax)