// File: /workspace/github_c_makefile_star2_O0/ugobas[P]tnm/nma.c
// Function: Mass_residue
float Mass_residue(atom *atom){
  char *atom_name=atom->name, aa=atom->aa;

  //modyves: removed some double parentheses below, which gave me some warnings
  if(atom_name[0]=='C'){
    if(atom_name[1]==' '){
      return(12); // 0H
    }else if(atom_name[1]=='A'){
      if(aa!='G')return(13); // Adding 1H mass
    }else if(atom_name[1]=='B'){
      if(aa=='A')return(15);              // Adding 3H mass
      if((aa=='V')||(aa=='T'))return(13); // Adding 1H mass
    }else if((aa=='W')||(aa=='F')||(aa=='Y')||(aa=='H')){
      if(atom_name[1]=='G')return(12); // 0H
      if((atom_name[1]=='Z')&&(aa=='Y'))return(12); // 0H
      return(13); // Adding 1H mass
    }else if(atom_name[1]=='G'){
      if((aa=='I')&&(atom_name[2]=='2'))return(15);  // Adding 3H mass
      if(aa=='V')return(15);      // Adding 3H mass
      if(aa=='L')return(13);      // Adding 1H mass
      if((aa=='N')||(aa=='D'))return(12);  // 0H
    }else if(atom_name[1]=='D'){
      if((aa=='L')||(aa=='I'))return(15);    // Adding 3H mass
      if((aa=='Q')||(aa=='E'))return(12);    // 0H
    }else if(atom_name[1]=='E'){
      if(aa=='M')return(15);      // Adding 3H mass
    }else if(atom_name[1]=='Z'){
      if(aa=='R')return(12);      // 0H mass
    }
    return(14);                 // Adding 2H mass
  }

  if(atom_name[0]=='N'){
    if(atom_name[1]==' '){
      if(aa=='P')return(14);           // 0H
      return(15);                      // Adding 1H
    }else if(atom_name[1]=='D'){
      if(aa=='H')return(14);           // 0H
    }else if(atom_name[1]=='E'){
      if((aa=='H')||(aa=='R'))return(15); // Adding 1H
    }else if(atom_name[1]=='Z'){
      if(aa=='K')return(17); // Adding 3H
    }
    return(16);  // Adding 2H mass
  }

  if(atom_name[0]=='O'){
    if(atom_name[1]==' ')return(16); // 0H
    if((atom_name[1]=='G')||(atom_name[1]=='H'))return(17); // 1H
    return(16); // 0H
  }

  if(atom_name[0]=='S')return(32);  // Adding H mass
  if(atom_name[0]=='H')return(1);
  if(atom_name[0]=='P')return(31);
  if(atom_name[0]=='E')return(79); // Selenium
  printf("WARNING, unusual atom %s\n", atom_name);
  return(14);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movb 0x68(%rax), %al
movb %al, -0x19(%rbp)
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x43, %eax
jne 0x3786f
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x20, %eax
jne 0x37611
movss 0x4672d(%rip), %xmm0    # 0x7dd34
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x41, %eax
jne 0x3763e
movsbl -0x19(%rbp), %eax
cmpl $0x47, %eax
je 0x37639
movss 0x46725(%rip), %xmm0    # 0x7dd54
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
jmp 0x3785b
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x42, %eax
jne 0x3768f
movsbl -0x19(%rbp), %eax
cmpl $0x41, %eax
jne 0x37666
movss 0x466f4(%rip), %xmm0    # 0x7dd50
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movsbl -0x19(%rbp), %eax
cmpl $0x56, %eax
je 0x37678
movsbl -0x19(%rbp), %eax
cmpl $0x54, %eax
jne 0x3768a
movss 0x466d4(%rip), %xmm0    # 0x7dd54
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
jmp 0x37859
movsbl -0x19(%rbp), %eax
cmpl $0x57, %eax
je 0x376b3
movsbl -0x19(%rbp), %eax
cmpl $0x46, %eax
je 0x376b3
movsbl -0x19(%rbp), %eax
cmpl $0x59, %eax
je 0x376b3
movsbl -0x19(%rbp), %eax
cmpl $0x48, %eax
jne 0x3770c
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x47, %eax
jne 0x376d2
movss 0x4666c(%rip), %xmm0    # 0x7dd34
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x5a, %eax
jne 0x376fa
movsbl -0x19(%rbp), %eax
cmpl $0x59, %eax
jne 0x376fa
movss 0x46644(%rip), %xmm0    # 0x7dd34
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movss 0x46652(%rip), %xmm0    # 0x7dd54
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x47, %eax
jne 0x377a4
movsbl -0x19(%rbp), %eax
cmpl $0x49, %eax
jne 0x37745
movq -0x18(%rbp), %rax
movsbl 0x2(%rax), %eax
cmpl $0x32, %eax
jne 0x37745
movss 0x46615(%rip), %xmm0    # 0x7dd50
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movsbl -0x19(%rbp), %eax
cmpl $0x56, %eax
jne 0x37760
movss 0x465fa(%rip), %xmm0    # 0x7dd50
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movsbl -0x19(%rbp), %eax
cmpl $0x4c, %eax
jne 0x3777b
movss 0x465e3(%rip), %xmm0    # 0x7dd54
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movsbl -0x19(%rbp), %eax
cmpl $0x4e, %eax
je 0x3778d
movsbl -0x19(%rbp), %eax
cmpl $0x44, %eax
jne 0x3779f
movss 0x4659f(%rip), %xmm0    # 0x7dd34
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
jmp 0x37855
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x44, %eax
jne 0x377fb
movsbl -0x19(%rbp), %eax
cmpl $0x4c, %eax
je 0x377c3
movsbl -0x19(%rbp), %eax
cmpl $0x49, %eax
jne 0x377d5
movss 0x46585(%rip), %xmm0    # 0x7dd50
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movsbl -0x19(%rbp), %eax
cmpl $0x51, %eax
je 0x377e7
movsbl -0x19(%rbp), %eax
cmpl $0x45, %eax
jne 0x377f9
movss 0x46545(%rip), %xmm0    # 0x7dd34
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
jmp 0x37853
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x45, %eax
jne 0x37825
movsbl -0x19(%rbp), %eax
cmpl $0x4d, %eax
jne 0x37823
movss 0x46537(%rip), %xmm0    # 0x7dd50
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
jmp 0x37851
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x5a, %eax
jne 0x3784f
movsbl -0x19(%rbp), %eax
cmpl $0x52, %eax
jne 0x3784d
movss 0x464f1(%rip), %xmm0    # 0x7dd34
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
jmp 0x3784f
jmp 0x37851
jmp 0x37853
jmp 0x37855
jmp 0x37857
jmp 0x37859
jmp 0x3785b
jmp 0x3785d
movss 0x464e3(%rip), %xmm0    # 0x7dd48
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x4e, %eax
jne 0x37958
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x20, %eax
jne 0x378b9
movsbl -0x19(%rbp), %eax
cmpl $0x50, %eax
jne 0x378a7
movss 0x464ab(%rip), %xmm0    # 0x7dd48
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movss 0x464a1(%rip), %xmm0    # 0x7dd50
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x44, %eax
jne 0x378e3
movsbl -0x19(%rbp), %eax
cmpl $0x48, %eax
jne 0x378e1
movss 0x46471(%rip), %xmm0    # 0x7dd48
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
jmp 0x37944
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x45, %eax
jne 0x37916
movsbl -0x19(%rbp), %eax
cmpl $0x48, %eax
je 0x37902
movsbl -0x19(%rbp), %eax
cmpl $0x52, %eax
jne 0x37914
movss 0x46446(%rip), %xmm0    # 0x7dd50
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
jmp 0x37942
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x5a, %eax
jne 0x37940
movsbl -0x19(%rbp), %eax
cmpl $0x4b, %eax
jne 0x3793e
movss 0x46418(%rip), %xmm0    # 0x7dd4c
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
jmp 0x37940
jmp 0x37942
jmp 0x37944
jmp 0x37946
movss 0x463f6(%rip), %xmm0    # 0x7dd44
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x4f, %eax
jne 0x379c1
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x20, %eax
jne 0x37983
movss 0x463cb(%rip), %xmm0    # 0x7dd44
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x47, %eax
je 0x3799d
movq -0x18(%rbp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x48, %eax
jne 0x379af
movss 0x463a7(%rip), %xmm0    # 0x7dd4c
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movss 0x4638d(%rip), %xmm0    # 0x7dd44
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x53, %eax
jne 0x379dc
movss 0x46363(%rip), %xmm0    # 0x7dd38
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x48, %eax
jne 0x379f7
movss 0x3e6a0(%rip), %xmm0    # 0x76090
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x50, %eax
jne 0x37a12
movss 0x46335(%rip), %xmm0    # 0x7dd40
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movq -0x18(%rbp), %rax
movsbl (%rax), %eax
cmpl $0x45, %eax
jne 0x37a2d
movss 0x46316(%rip), %xmm0    # 0x7dd3c
movss %xmm0, -0x4(%rbp)
jmp 0x37a4c
movq -0x18(%rbp), %rsi
leaq 0x465f3(%rip), %rdi     # 0x7e02b
movb $0x0, %al
callq 0x10d0
movss 0x46301(%rip), %xmm0    # 0x7dd48
movss %xmm0, -0x4(%rbp)
movss -0x4(%rbp), %xmm0
addq $0x20, %rsp
popq %rbp
retq
nopw (%rax,%rax)