user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<main>:
  endbr64
  push   %r15
  mov    $0x32,%ecx
  lea    D318(%rip),%rsi
  lea    D102(%rip),%rdx
  push   %r14
  lea    D53(%rip),%r8
  xor    %r15d,%r15d
  lea    D427(%rip),%r9
  push   %r13
  lea    D808(%rip),%r10
  xor    %r13d,%r13d
  push   %r12
  xor    %r12d,%r12d
  push   %rbp
  xor    %ebp,%ebp
  push   %rbx
  lea    D814(%rip),%rbx
  sub    $0x588,%rsp
  movdqa D115(%rip),%xmm0
  mov    %fs:0x28,%rax
  mov    %rax,0x578(%rsp)
  xor    %eax,%eax
  lea    D574(%rip),%rax
  lea    0x160(%rsp),%rdi
  movl   $0x45445248,0x500(%rsp)
  mov    %rax,0xc0(%rsp)
  lea    D153(%rip),%rax
  lea    0x510(%rsp),%r14
  mov    %rax,0xc8(%rsp)
  lea    D57(%rip),%rax
  mov    %rax,0xd0(%rsp)
  lea    D352(%rip),%rax
  mov    %rax,0xd8(%rsp)
  lea    D667(%rip),%rax
  mov    %rax,0xe0(%rsp)
  lea    D178(%rip),%rax
  mov    %rax,0xe8(%rsp)
  lea    D458(%rip),%rax
  mov    %rax,0xf0(%rsp)
  lea    D556(%rip),%rax
  mov    %rax,0xf8(%rsp)
  lea    D262(%rip),%rax
  mov    %rax,0x100(%rsp)
  lea    D38(%rip),%rax
  mov    %rax,0x108(%rsp)
  lea    D542(%rip),%rax
  mov    %rax,0x110(%rsp)
  lea    D713(%rip),%rax
  mov    %rax,0x118(%rsp)
  lea    D687(%rip),%rax
  mov    %rax,0x120(%rsp)
  lea    D522(%rip),%rax
  mov    %rax,0x128(%rsp)
  lea    D170(%rip),%rax
  mov    %rax,0x130(%rsp)
  lea    D224(%rip),%rax
  mov    %rax,0x138(%rsp)
  lea    D739(%rip),%rax
  mov    %rax,0x140(%rsp)
  lea    D680(%rip),%rax
  mov    %rax,0x148(%rsp)
  lea    D621(%rip),%rax
  mov    %rax,0x150(%rsp)
  lea    D210(%rip),%rax
  mov    %rax,0x158(%rsp)
  movaps %xmm0,0x4f0(%rsp)
  pxor   %xmm0,%xmm0
  mov    %rdi,0x10(%rsp)
  rep movsq %ds:(%rsi),%es:(%rdi)
  lea    0x2f0(%rsp),%rdi
  lea    D180(%rip),%rsi
  mov    %rdi,0x18(%rsp)
  mov    %rcx,%rax
  mov    $0x3f,%ecx
  rep stos %rax,%es:(%rdi)
  mov    %rbx,0x308(%rsp)
  lea    D872(%rip),%rbx
  lea    D632(%rip),%rdi
  mov    %rbx,0x330(%rsp)
  lea    D820(%rip),%rbx
  lea    D308(%rip),%rax
  mov    %rbx,0x338(%rsp)
  lea    D63(%rip),%rbx
  lea    D652(%rip),%rcx
  mov    %rbx,0x350(%rsp)
  lea    D223(%rip),%rbx
  mov    %rdi,0x2f0(%rsp)
  mov    %rbx,0x368(%rsp)
  lea    D304(%rip),%rbx
  mov    %rdi,0x380(%rsp)
  lea    D81(%rip),%rdi
  mov    %rdx,0x2f8(%rsp)
  mov    %rax,0x300(%rsp)
  mov    %rdx,0x310(%rsp)
  mov    %rax,0x318(%rsp)
  mov    %rdx,0x320(%rsp)
  mov    %rdx,0x328(%rsp)
  mov    %rdx,0x340(%rsp)
  mov    %rax,0x348(%rsp)
  mov    %rsi,0x358(%rsp)
  mov    %rcx,0x360(%rsp)
  mov    %r8,0x370(%rsp)
  mov    %rax,0x378(%rsp)
  mov    %rdx,0x388(%rsp)
  mov    %rax,0x390(%rsp)
  mov    %r9,0x398(%rsp)
  mov    %rsi,0x3a0(%rsp)
  mov    %rcx,0x3a8(%rsp)
  mov    %r10,0x3b0(%rsp)
  mov    %rdi,0x3b8(%rsp)
  mov    %rcx,0x3c0(%rsp)
  mov    %r10,0x3c8(%rsp)
  mov    %rsi,0x3d0(%rsp)
  mov    %rbx,0x3e0(%rsp)
  lea    D518(%rip),%rbx
  mov    %rbx,0x3f8(%rsp)
  lea    D449(%rip),%rbx
  mov    %rbx,0x410(%rsp)
  lea    D21(%rip),%rbx
  mov    %rbx,0x428(%rsp)
  lea    D424(%rip),%rbx
  mov    %rbx,0x440(%rsp)
  lea    D358(%rip),%rbx
  mov    %rdx,0x3e8(%rsp)
  mov    %rax,0x3f0(%rsp)
  mov    %rdx,0x400(%rsp)
  mov    %rax,0x408(%rsp)
  mov    %rdx,0x418(%rsp)
  lea    D647(%rip),%rdx
  mov    %rax,0x420(%rsp)
  mov    %rax,0x438(%rsp)
  mov    %rax,0x450(%rsp)
  mov    %rbx,0x458(%rsp)
  lea    D591(%rip),%rbx
  mov    %rax,0x480(%rsp)
  mov    %rax,0x4b0(%rsp)
  mov    %rax,0x4c8(%rsp)
  movabs $0x40866666bfcccccd,%rax
  mov    %rcx,0x3d8(%rsp)
  mov    %rsi,0x430(%rsp)
  mov    %rdi,0x448(%rsp)
  mov    %rsi,0x460(%rsp)
  mov    %rcx,0x468(%rsp)
  mov    %rbx,0x470(%rsp)
  lea    D379(%rip),%rbx
  mov    %rdi,0x478(%rsp)
  lea    D208(%rip),%rdi
  mov    %rdx,0x488(%rsp)
  mov    %rcx,0x490(%rsp)
  mov    %rcx,0x498(%rsp)
  mov    %r9,0x4a0(%rsp)
  mov    %rsi,0x4a8(%rsp)
  mov    %rdx,0x4b8(%rsp)
  mov    %r8,0x4c0(%rsp)
  movl   $0x3fe66666,0x74(%rsp)
  mov    %rax,0x78(%rsp)
  movabs $0x4090000040733333,%rax
  mov    %rax,0x80(%rsp)
  movabs $0x403333333ff33333,%rax
  mov    %rax,0x88(%rsp)
  movabs $0xbf666666bfa66666,%rax
  mov    %rax,0x90(%rsp)
  movabs $0xbf333333bf4ccccd,%rax
  mov    %rax,0x98(%rsp)
  movabs $0xc060000040200000,%rax
  mov    %rax,0xa0(%rsp)
  movabs $0xc079999ac0600000,%rax
  mov    %rax,0xa8(%rsp)
  movabs $0xc0900000c04ccccd,%rax
  mov    %rax,0xb0(%rsp)
  movabs $0xc0600000c0600000,%rax
  mov    %rax,0xb8(%rsp)
  movaps %xmm0,0x20(%rsp)
  movaps %xmm0,0x30(%rsp)
  movaps %xmm0,0x40(%rsp)
  movaps %xmm0,0x50(%rsp)
  movaps %xmm0,0x60(%rsp)
  call   <puts@plt>
  lea    0x56a(%rsp),%rax
  movl   $0x0,0x8(%rsp)
  mov    %rax,(%rsp)
  movl   $0x0,0xc(%rsp)
  jmp    L431
  nopl   0x0(%rax,%rax,1)
L562:
  lea    -0x43(%rax),%ecx
  cmp    $0x16,%cl
  ja     L259
  mov    $0x5bef6f,%edi
  bt     %rcx,%rdi
  jae    L259
  add    $0x1,%r15d
  cmp    $0x50,%al
  jne    L197
  addl   $0x1,0x28(%rsp)
  nopl   0x0(%rax,%rax,1)
L527:
  lea    -0x48(%rax),%ecx
  cmp    $0xa,%cl
  ja     L42
  mov    $0xfffffffffffffbf6,%rdi
  bt     %rcx,%rdi
  jb     L728
  add    $0x1,%r13d
L42:
  lea    -0x44(%rax),%r8d
  mov    %eax,%edi
  lea    -0x43(%rax),%ecx
  cmp    $0x1,%r8b
  jbe    L731
  cmp    $0x11,%cl
  ja     L305
L283:
  mov    $0xfffffffffffcb7fe,%r8
  sar    %cl,%r8
  and    $0x1,%r8d
  cmp    $0x1,%r8b
  adcl   $0x0,0x8(%rsp)
L305:
  test   %sil,%sil
  jne    L71
  lea    -0x49(%rax),%ecx
  cmp    $0xd,%cl
  ja     L161
  mov    $0x2099,%edx
  bt     %rcx,%rdx
  jb     L71
L259:
  add    $0x1,%r14
  cmp    %r14,(%rsp)
  je     L102
L431:
  mov    %r14,%rsi
  mov    %rbx,%rdi
  call   <scanf@plt>
  movzbl (%r14),%eax
  cmp    $0xa,%al
  je     L102
  cmp    $0x47,%al
  sete   %sil
  cmp    $0x41,%al
  sete   %cl
  or     %cl,%sil
  je     L562
  add    $0x1,%r15d
  cmp    $0x47,%al
  jne    L325
  addl   $0x1,0x20(%rsp)
  jmp    L527
  nopl   0x0(%rax,%rax,1)
L71:
  add    $0x1,%ebp
L161:
  sub    $0x57,%edi
  and    $0xfd,%edi
  je     L254
  cmp    $0x46,%al
  jne    L259
L254:
  add    $0x1,%r12d
  add    $0x1,%r14
  cmp    %r14,(%rsp)
  jne    L431
L102:
  mov    $0xa,%edi
  lea    0x20(%rsp),%rbx
  call   <putchar@plt>
  mov    %r15d,%esi
  lea    D72(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r13d,%esi
  lea    D517(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    0xc(%rsp),%esi
  lea    D36(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    0x8(%rsp),%esi
  lea    D292(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %ebp,%esi
  lea    D862(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r12d,%esi
  xor    %eax,%eax
  lea    D214(%rip),%rdi
  call   <printf@plt>
  lea    D660(%rip),%rdi
  xor    %r12d,%r12d
  lea    D342(%rip),%rbp
  call   <puts@plt>
  pxor   %xmm4,%xmm4
  pxor   %xmm7,%xmm7
  mov    $0x47,%esi
  cvtsi2ss %r15d,%xmm4
  cvtss2sd %xmm4,%xmm7
  movss  %xmm4,0x8(%rsp)
  movsd  %xmm7,(%rsp)
  jmp    L424
  nop
L724:
  movsbl 0x4f0(%rsp,%r12,1),%esi
L424:
  mov    (%rbx,%r12,4),%edx
  pxor   %xmm0,%xmm0
  mov    %rbp,%rdi
  mov    $0x1,%eax
  add    $0x1,%r12
  cvtsi2ss %edx,%xmm0
  cvtss2sd %xmm0,%xmm0
  mulsd  D175(%rip),%xmm0
  divsd  (%rsp),%xmm0
  call   <printf@plt>
  cmp    $0x14,%r12
  jne    L724
  mov    0x10(%rsp),%rax
  mov    0x18(%rsp),%r14
  mov    %r15d,(%rsp)
  xor    %ebp,%ebp
  mov    %rbx,%rcx
  xor    %esi,%esi
  xor    %r12d,%r12d
  xor    %edi,%edi
  xor    %r13d,%r13d
  mov    %rbx,%r15
  nopl   (%rax)
L477:
  mov    (%rcx),%edx
  test   %edx,%edx
  jle    L153
  mov    (%rax),%ebx
  mov    0x4(%rax),%r11d
  sub    $0x1,%edx
  mov    0x8(%rax),%r10d
  mov    0xc(%rax),%r9d
  mov    0x10(%rax),%r8d
  add    %ebx,%r13d
  imul   %edx,%ebx
  add    %r11d,%edi
  add    %r10d,%r12d
  imul   %edx,%r11d
  add    %r9d,%esi
  add    %r8d,%ebp
  imul   %edx,%r10d
  imul   %edx,%r9d
  add    %ebx,%r13d
  imul   %edx,%r8d
  add    %r11d,%edi
  add    %r10d,%r12d
  add    %r9d,%esi
  add    %r8d,%ebp
L153:
  add    $0x14,%rax
  add    $0x4,%rcx
  cmp    %rax,%r14
  jne    L477
  mov    %r15,%rbx
  mov    (%rsp),%r15d
  lea    -0x1(%r15),%eax
  lea    (%rax,%rax,1),%edx
  sub    %eax,%esi
  sub    %edx,%edi
  mov    %esi,%r15d
  mov    %edi,%r14d
  lea    D730(%rip),%rdi
  call   <puts@plt>
  mov    %r13d,%esi
  lea    D803(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r14d,%esi
  lea    D881(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r12d,%esi
  lea    D614(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r15d,%esi
  lea    D784(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  lea    D124(%rip),%rdi
  xor    %eax,%eax
  mov    %ebp,%esi
  call   <printf@plt>
  xor    %eax,%eax
  lea    D145(%rip),%rdi
  call   <printf@plt>
  test   %r13d,%r13d
  jle    L342
  mov    %r13d,%esi
  lea    D760(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
L342:
  test   %r14d,%r14d
  jle    L429
  mov    %r14d,%esi
  lea    D263(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
L429:
  test   %r12d,%r12d
  jle    L577
  mov    %r12d,%esi
  lea    D835(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
L577:
  test   %r15d,%r15d
  jle    L682
  mov    %r15d,%esi
  lea    D423(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
L682:
  test   %ebp,%ebp
  jle    L413
  mov    %ebp,%esi
  lea    D279(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
L413:
  mov    $0xa,%edi
  call   <putchar@plt>
  lea    0x0(%r13,%r14,1),%esi
  lea    D544(%rip),%rdi
  xor    %eax,%eax
  add    %r12d,%esi
  add    %r15d,%esi
  add    %ebp,%esi
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm5,%xmm5
  cvtsi2sd %r13d,%xmm0
  mulsd  D245(%rip),%xmm0
  mov    $0x1,%eax
  cvtsi2sd %r14d,%xmm1
  mulsd  D883(%rip),%xmm1
  lea    D336(%rip),%rdi
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r12d,%xmm1
  mulsd  D532(%rip),%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r15d,%xmm1
  mulsd  D169(%rip),%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ebp,%xmm1
  mulsd  D618(%rip),%xmm1
  addsd  %xmm1,%xmm0
  cvtsd2ss %xmm0,%xmm5
  pxor   %xmm0,%xmm0
  movss  %xmm5,(%rsp)
  cvtss2sd %xmm5,%xmm0
  call   <printf@plt>
  lea    D732(%rip),%rdi
  call   <puts@plt>
  imul   $0x157c,0x44(%rsp),%eax
  imul   $0x5d2,0x40(%rsp),%r12d
  add    %eax,%r12d
  mov    0x50(%rsp),%eax
  mov    %eax,%ebp
  shr    $0x1f,%ebp
  add    %eax,%ebp
  mov    %r12d,%eax
  sar    %ebp
  imul   $0x7d,%ebp,%ebp
  add    %r12d,%ebp
  or     %ebp,%eax
  je     L372
  mov    %r12d,%edx
  mov    %ebp,%esi
  lea    D836(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
L666:
  lea    D351(%rip),%rdi
  xor    %eax,%eax
  lea    D192(%rip),%r13
  call   <printf@plt>
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  mov    %r13,%rdi
  cvtsi2ssl 0x2c(%rsp),%xmm0
  mulss  D697(%rip),%xmm0
  mov    0x30(%rsp),%eax
  cvtsi2ssl 0x24(%rsp),%xmm1
  add    0x34(%rsp),%eax
  addss  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2ss %eax,%xmm1
  mulss  D547(%rip),%xmm1
  mov    $0x1,%eax
  addss  %xmm1,%xmm0
  mulss  D715(%rip),%xmm0
  cvtss2sd %xmm0,%xmm0
  call   <printf@plt>
  lea    D492(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  movss  D366(%rip),%xmm2
  xor    %eax,%eax
  pxor   %xmm0,%xmm0
  jmp    L202
  nopl   0x0(%rax,%rax,1)
L691:
  movss  0x70(%rsp,%rax,1),%xmm2
L202:
  pxor   %xmm1,%xmm1
  cvtsi2ssl (%rbx,%rax,1),%xmm1
  add    $0x4,%rax
  mulss  %xmm2,%xmm1
  addss  %xmm1,%xmm0
  cmp    $0x50,%rax
  jne    L691
  mov    %r13,%rdi
  mov    $0x1,%eax
  divss  0x8(%rsp),%xmm0
  cvtss2sd %xmm0,%xmm0
  call   <printf@plt>
  lea    D319(%rip),%rdi
  xor    %eax,%eax
  xor    %ebx,%ebx
  movsbl 0x510(%rsp),%esi
  lea    D374(%rip),%r13
  call   <printf@plt>
  mov    $0x47,%eax
  jmp    L249
  cs nopw 0x0(%rax,%rax,1)
L410:
  add    $0x1,%rbx
  cmp    $0x14,%rbx
  je     L642
L247:
  movzbl 0x4f0(%rsp,%rbx,1),%eax
L249:
  cmp    %al,0x510(%rsp)
  jne    L410
  mov    0xc0(%rsp,%rbx,8),%rsi
  mov    %r13,%rdi
  xor    %eax,%eax
  add    $0x1,%rbx
  call   <printf@plt>
  cmp    $0x14,%rbx
  jne    L247
L642:
  lea    D716(%rip),%rdi
  call   <puts@plt>
  movzbl 0x510(%rsp),%esi
  xor    %eax,%eax
  mov    $0x47,%edx
  jmp    L218
  nopl   0x0(%rax)
L8:
  add    $0x1,%rax
  cmp    $0x14,%rax
  je     L634
  movzbl 0x4f0(%rsp,%rax,1),%edx
L218:
  cmp    %dl,%sil
  jne    L8
  cltq
  lea    D751(%rip),%rdi
  imul   $0x18,%rax,%rax
  mov    0x300(%rsp,%rax,1),%rcx
  mov    0x2f8(%rsp,%rax,1),%rdx
  mov    0x2f0(%rsp,%rax,1),%rsi
  xor    %eax,%eax
  call   <printf@plt>
L634:
  pxor   %xmm1,%xmm1
  pxor   %xmm0,%xmm0
  movss  (%rsp),%xmm6
  lea    D661(%rip),%rdi
  cvtsi2ss %r12d,%xmm1
  mov    $0x2,%eax
  cvtsi2ss %ebp,%xmm0
  divss  %xmm6,%xmm1
  divss  %xmm6,%xmm0
  cvtss2sd %xmm1,%xmm1
  cvtss2sd %xmm0,%xmm0
  call   <printf@plt>
  mov    0x578(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L396
  add    $0x588,%rsp
  xor    %eax,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopl   (%rax)
L325:
  addl   $0x1,0x24(%rsp)
L197:
  cmp    $0x56,%al
  jne    L496
  addl   $0x1,0x2c(%rsp)
  jmp    L527
  nopl   0x0(%rax,%rax,1)
L496:
  cmp    $0x4c,%al
  jne    L57
  addl   $0x1,0x30(%rsp)
  jmp    L527
L57:
  cmp    $0x49,%al
  jne    L696
  addl   $0x1,0x34(%rsp)
  jmp    L527
L696:
  cmp    $0x4d,%al
  jne    L373
  addl   $0x1,0x38(%rsp)
  jmp    L527
L373:
  cmp    $0x46,%al
  jne    L692
  addl   $0x1,0x3c(%rsp)
  jmp    L527
L692:
  cmp    $0x59,%al
  jne    L367
  addl   $0x1,0x40(%rsp)
  jmp    L527
L367:
  cmp    $0x57,%al
  jne    L708
  addl   $0x1,0x44(%rsp)
  jmp    L527
L708:
  cmp    $0x53,%al
  jne    L136
  addl   $0x1,0x48(%rsp)
  jmp    L527
L136:
  cmp    $0x54,%al
  jne    L165
  addl   $0x1,0x4c(%rsp)
  jmp    L527
L165:
  cmp    $0x43,%al
  jne    L180
  addl   $0x1,0x50(%rsp)
  jmp    L527
L180:
  cmp    $0x4e,%al
  jne    L542
  addl   $0x1,0x54(%rsp)
  jmp    L527
L542:
  cmp    $0x51,%al
  jne    L138
  addl   $0x1,0x58(%rsp)
  jmp    L527
L138:
  cmp    $0x4b,%al
  jne    L338
  addl   $0x1,0x5c(%rsp)
  jmp    L527
L338:
  cmp    $0x48,%al
  jne    L285
  addl   $0x1,0x60(%rsp)
  jmp    L527
L285:
  cmp    $0x52,%al
  jne    L572
  addl   $0x1,0x64(%rsp)
  jmp    L527
L572:
  cmp    $0x44,%al
  jne    L394
  addl   $0x1,0x68(%rsp)
  jmp    L42
L394:
  cmp    $0x45,%al
  jne    L527
  addl   $0x1,0x6c(%rsp)
  mov    $0x45,%edi
L731:
  addl   $0x1,0xc(%rsp)
  jmp    L161
L372:
  lea    D627(%rip),%rdi
  call   <puts@plt>
  jmp    L666
L728:
  mov    %eax,%edi
  lea    -0x43(%rax),%ecx
  jmp    L283
L396:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: parse_data
arguments: label: D318
datatype: string
name: parse_data
arguments: label: D102
datatype: string
name: parse_data
arguments: label: D53
datatype: string
name: parse_data
arguments: label: D427
datatype: string
name: parse_data
arguments: label: D808
datatype: string
name: parse_data
arguments: label: D814
datatype: string
name: parse_data
arguments: label: D115
datatype: byte[16]
name: parse_data
arguments: label: D574
datatype: string
name: parse_data
arguments: label: D153
datatype: string
name: parse_data
arguments: label: D57
datatype: string
name: parse_data
arguments: label: D352
datatype: string
name: parse_data
arguments: label: D667
datatype: string
name: parse_data
arguments: label: D178
datatype: string
name: parse_data
arguments: label: D458
datatype: string
name: parse_data
arguments: label: D556
datatype: string
name: parse_data
arguments: label: D262
datatype: string
name: parse_data
arguments: label: D38
datatype: string
name: parse_data
arguments: label: D542
datatype: string
name: parse_data
arguments: label: D713
datatype: string
name: parse_data
arguments: label: D687
datatype: string
name: parse_data
arguments: label: D522
datatype: string
name: parse_data
arguments: label: D170
datatype: string
name: parse_data
arguments: label: D224
datatype: string
name: parse_data
arguments: label: D739
datatype: string
name: parse_data
arguments: label: D680
datatype: string
name: parse_data
arguments: label: D621
datatype: string
name: parse_data
arguments: label: D210
datatype: string
name: parse_data
arguments: label: D180
datatype: string
name: parse_data
arguments: label: D872
datatype: string
name: parse_data
arguments: label: D632
datatype: string
name: parse_data
arguments: label: D820
datatype: string
name: parse_data
arguments: label: D308
datatype: string
name: parse_data
arguments: label: D63
datatype: string
name: parse_data
arguments: label: D652
datatype: string
name: parse_data
arguments: label: D223
datatype: string
name: parse_data
arguments: label: D304
datatype: string
name: parse_data
arguments: label: D81
datatype: string
name: parse_data
arguments: label: D518
datatype: string
name: parse_data
arguments: label: D449
datatype: string
name: parse_data
arguments: label: D21
datatype: string
name: parse_data
arguments: label: D424
datatype: string
name: parse_data
arguments: label: D358
datatype: string
name: parse_data
arguments: label: D647
datatype: string
name: parse_data
arguments: label: D591
datatype: string
name: parse_data
arguments: label: D379
datatype: string
name: parse_data
arguments: label: D208
datatype: string
name: parse_data
arguments: label: D72
datatype: string
name: parse_data
arguments: label: D517
datatype: string
name: parse_data
arguments: label: D36
datatype: string
name: parse_data
arguments: label: D292
datatype: string
name: parse_data
arguments: label: D862
datatype: string
name: parse_data
arguments: label: D214
datatype: string
name: parse_data
arguments: label: D660
datatype: string
name: parse_data
arguments: label: D342
datatype: string
name: parse_data
arguments: label: D175
datatype: f64
name: parse_data
arguments: label: D730
datatype: string
name: parse_data
arguments: label: D803
datatype: string
name: parse_data
arguments: label: D881
datatype: string
name: parse_data
arguments: label: D614
datatype: string
name: parse_data
arguments: label: D784
datatype: string
name: parse_data
arguments: label: D124
datatype: string
name: parse_data
arguments: label: D145
datatype: string
name: parse_data
arguments: label: D760
datatype: string
name: parse_data
arguments: label: D263
datatype: string
name: parse_data
arguments: label: D835
datatype: string
name: parse_data
arguments: label: D423
datatype: string
name: parse_data
arguments: label: D279
datatype: string
name: parse_data
arguments: label: D544
datatype: string
name: parse_data
arguments: label: D245
datatype: f64
name: parse_data
arguments: label: D883
datatype: f64
name: parse_data
arguments: label: D336
datatype: string
name: parse_data
arguments: label: D532
datatype: f64
name: parse_data
arguments: label: D169
datatype: f64
name: parse_data
arguments: label: D618
datatype: f64
name: parse_data
arguments: label: D732
datatype: string
name: parse_data
arguments: label: D836
datatype: string
name: parse_data
arguments: label: D351
datatype: string
name: parse_data
arguments: label: D192
datatype: string
name: parse_data
arguments: label: D697
datatype: f32
name: parse_data
arguments: label: D547
datatype: f32
name: parse_data
arguments: label: D715
datatype: byte[4]
name: parse_data
arguments: label: D492
datatype: string
name: parse_data
arguments: label: D366
datatype: byte[4]
name: parse_data
arguments: label: D319
datatype: string
name: parse_data
arguments: label: D374
datatype: string
name: parse_data
arguments: label: D716
datatype: string
name: parse_data
arguments: label: D751
datatype: string
name: parse_data
arguments: label: D661
datatype: string
name: parse_data
arguments: label: D627
datatype: string

tool: D318: 

tool: D102: >20 hour

tool: D53: 30 min

tool: D427: 1.1 hour

tool: D808: 2.8 hour

tool: D814: 4.4 hour

tool: {"D115": [0x47,0x41,0x50,0x56,0x4c,0x49,0x4d,0x46,0x59,0x57,0x53,0x54,0x43,0x4e,0x51,0x4b]}

tool: D574: Gly

tool: D153: Ala

tool: D57: Pro

tool: D352: Val

tool: D667: Leu

tool: D178: Ile

tool: D458: Met

tool: D556: Phe

tool: D262: Tyr

tool: D38: Trp

tool: D542: Ser

tool: D713: Thr

tool: D687: Cys

tool: D522: Asn

tool: D170: Gln

tool: D224: Lys

tool: D739: His

tool: D680: Arg

tool: D621: Asp

tool: D210: Glu

tool: D180: 3 min

tool: D872: ?

tool: D632: 30 hour

tool: D820: 100 hour

tool: D308: >10 hour

tool: D63: 5.5 hour

tool: D652: 2 min

tool: D223: 20 hour

tool: D304: 1.9 hour

tool: D81: 10 min

tool: D518: 7.2 hour

tool: D449: 1.2 hour

tool: D21: 1.4 hour

tool: D424: 0.8 hour

tool: D358: 1.3 hour

tool: D647: 1 hour

tool: D591: 3.5 hour

tool: D379: %c

tool: D208: Enter the sequence 

tool: D72: No of Amino Acids: %d 


tool: D517: No of positive Amino Acids: %d 


tool: D36: No of negative Amino Acids: %d 


tool: D292: No of polar Amino Acids: %d 


tool: D862: No of nonpolar Amino Acids: %d 


tool: D214: No of aromatic Amino Acids: %d 


tool: D660: Amino acid composition




tool: D342: %c 	 %d   %f 


tool: D175: 100

tool: D730: 

Atomic Composition

tool: D803: Carbon     C	 %d


tool: D881: Hydrogen   H	 %d


tool: D614: Nitrogen   N	 %d


tool: D784: Oxygen     O	 %d


tool: D124: Sulfer     S	 %d


tool: D145: 
Formula:

tool: D760: C%d 

tool: D263: H%d 

tool: D835: N%d 

tool: D423: O%d 

tool: D279: S%d 

tool: D544: Total number of atoms:  %d


tool: D245: 12.001

tool: D883: 1.00794

tool: D336: Molecular weight %f



tool: D532: 14.00674

tool: D169: 15.9994

tool: D618: 32.066

tool: D732: Extinction Coefficient

tool: D836: %d 
%d


tool: D351: Aliphatic Index 

tool: D192: %f 


tool: D697: 2.9

tool: D547: 3.9

tool: {"D715": [0x00,0x00,0x20,0x41]}

tool: D492: 
Grand average of hydropathicity (GRAVY) 

tool: {"D366": [0xcd,0xcc,0xcc,0xbe]}

tool: D319: The N-terminal of the sequence considered is %c 

tool: D374: (%s)


tool: D716: Estimated Half life

tool: D751: Mammalian	%s
Yeast	%s
E. coli	%s


tool: D661: 
Absorbance 1 %f
Absorbance 2 %f


tool: D627: As there are no Trp, Tyr or Cys in the region considered, your proteinshould not be visible by UV spectrophotometry.

assistant: ```c
int main() {
  int aacidCounter[20];
  char aacid[20] = {'G', 'A', 'P', 'V', 'L', 'I', 'M', 'F', 'Y', 'W', 'S', 'T', 'C', 'N', 'Q', 'K', 'H', 'R', 'D', 'E'};
  char *aacidName[] = {"Gly", "Ala", "Pro", "Val", "Leu", "Ile", "Met", "Phe", "Tyr", "Trp", "Ser", "Thr", "Cys", "Asn", "Gln", "Lys", "His", "Arg", "Asp", "Glu"};
  int aacidCounterTotal = 0;
  char seq[90];
  int i;
  int j = 0;
  int positiveCounter = 0;
  int negativeCounter = 0;
  int polarCounter = 0;
  int nonpolarCounter = 0;
  int aromaticCounter = 0;
  int carbonCounter = 0;
  int hydrogenCounter = 0;
  int nitrogenCounter = 0;
  int oxygenCounter = 0;
  int sulferCounter = 0;
  int totalAtoms = 0;
  int atomicComposition[20][5] = {2, 5, 1, 2, 0, 3, 7, 1, 2, 0, 5, 9, 1, 2, 0, 5, 11, 1, 2, 0, 6, 13, 1, 2, 0, 6, 13, 1, 2, 0, 5, 11, 1, 2, 1, 9, 11, 1, 2, 0, 9, 11, 1, 3, 0, 11, 12, 2, 2, 0, 3, 7, 1, 3, 0, 4, 9, 1, 3, 0, 3, 7, 1, 2, 1, 4, 8, 2, 3, 0, 5, 10, 2, 3, 0, 6, 14, 2, 2, 0, 6, 9, 3, 2, 0, 6, 14, 4, 2, 0, 4, 7, 1, 4, 0, 5, 9, 1, 4, 0};
  char *halfLife[][3] = {"30 hour",
                         ">20 hour",
                         ">10 hour",
                         "4.4 hour",
                         ">20 hour",
                         ">10 hour",
                         ">20 hour",
                         ">20 hour",
                         "?",
                         "100 hour",
                         ">20 hour",
                         ">10 hour",
                         "5.5 hour",
                         "3 min",
                         "2 min",
                         "20 hour",
                         "30 min",
                         ">10 hour",
                         "30 hour",
                         ">20 hour",
                         ">10 hour",
                         "1.1 hour",
                         "3 min",
                         "2 min",
                         "2.8 hour",
                         "10 min",
                         "2 min",
                         "2.8 hour",
                         "3 min",
                         "2 min",
                         "1.9 hour",
                         ">20 hour",
                         ">10 hour",
                         "7.2 hour",
                         ">20 hour",
                         ">10 hour",
                         "1.2 hour",
                         ">20 hour",
                         ">10 hour",
                         "1.4 hour",
                         "3 min",
                         ">10 hour",
                         "0.8 hour",
                         "10 min",
                         ">10 hour",
                         "1.3 hour",
                         "3 min",
                         "2 min",
                         "3.5 hour",
                         "10 min",
                         ">10 hour",
                         "1 hour",
                         "2 min",
                         "2 min",
                         "1.1 hour",
                         "3 min",
                         ">10 hour",
                         "1 hour",
                         "30 min",
                         ">10 hour"
                         "",
                         ""};
  int e1, e2;
  float aIndex, a = 2.9, b = 3.9;
  float GRAVYparam[20] = {-0.4, 1.8, -1.6, 4.2, 3.8, 4.5, 1.9, 2.8, -1.3, -0.9, -0.8, -0.7, 2.5, -3.5, -3.5, -3.9, -3.2, -4.5, -3.5, -3.5};
  float GRAVYtotal = 0.0, GRAVY;
  float absorbance[2];
  float molecularWeight;
  for (i = 0; i < 20; i++)
    aacidCounter[i] = 0;
  printf("Enter the sequence \n");
  for (i = 0; i < 90; i++) {
    scanf("%c", &seq[i]);
    if (seq[i] == '\n')
      break;
    if (seq[i] == 'G' || seq[i] == 'A' || seq[i] == 'P' || seq[i] == 'V' || seq[i] == 'L' || seq[i] == 'I' || seq[i] == 'M' || seq[i] == 'F' || seq[i] == 'Y' || seq[i] == 'W' || seq[i] == 'S' || seq[i] == 'T' || seq[i] == 'C' || seq[i] == 'N' || seq[i] == 'Q' || seq[i] == 'K' || seq[i] == 'H' || seq[i] == 'R' || seq[i] == 'D' || seq[i] == 'E') {
      aacidCounterTotal++;
      if (seq[i] == 'G')
        aacidCounter[0]++;
      if (seq[i] == 'A')
        aacidCounter[1]++;
      if (seq[i] == 'P')
        aacidCounter[2]++;
      if (seq[i] == 'V')
        aacidCounter[3]++;
      if (seq[i] == 'L')
        aacidCounter[4]++;
      if (seq[i] == 'I')
        aacidCounter[5]++;
      if (seq[i] == 'M')
        aacidCounter[6]++;
      if (seq[i] == 'F')
        aacidCounter[7]++;
      if (seq[i] == 'Y')
        aacidCounter[8]++;
      if (seq[i] == 'W')
        aacidCounter[9]++;
      if (seq[i] == 'S')
        aacidCounter[10]++;
      if (seq[i] == 'T')
        aacidCounter[11]++;
      if (seq[i] == 'C')
        aacidCounter[12]++;
      if (seq[i] == 'N')
        aacidCounter[13]++;
      if (seq[i] == 'Q')
        aacidCounter[14]++;
      if (seq[i] == 'K')
        aacidCounter[15]++;
      if (seq[i] == 'H')
        aacidCounter[16]++;
      if (seq[i] == 'R')
        aacidCounter[17]++;
      if (seq[i] == 'D')
        aacidCounter[18]++;
      if (seq[i] == 'E')
        aacidCounter[19]++;
      if (seq[i] == 'K' || seq[i] == 'H' || seq[i] == 'R')
        positiveCounter++;
      if (seq[i] == 'D' || seq[i] == 'E')
        negativeCounter++;
      if (seq[i] == 'S' || seq[i] == 'T' || seq[i] == 'C' || seq[i] == 'N' || seq[i] == 'Q')
        polarCounter++;
      if (seq[i] == 'G' || seq[i] == 'A' || seq[i] == 'P' || seq[i] == 'V' || seq[i] == 'L' || seq[i] == 'I' || seq[i] == 'M')
        nonpolarCounter++;
      if (seq[i] == 'F' || seq[i] == 'Y' || seq[i] == 'W')
        aromaticCounter++;
    }
  }
  printf("\n");
  printf("No of Amino Acids: %d \n", aacidCounterTotal);
  printf("No of positive Amino Acids: %d \n", positiveCounter);
  printf("No of negative Amino Acids: %d \n", negativeCounter);
  printf("No of polar Amino Acids: %d \n", polarCounter);
  printf("No of nonpolar Amino Acids: %d \n", nonpolarCounter);
  printf("No of aromatic Amino Acids: %d \n", aromaticCounter);
  printf("Amino acid composition\n\n\n\n");
  for (i = 0; i < 20; i++) {
    printf("%c \t %d   %f \n", aacid[i], aacidCounter[i], (float)aacidCounter[i] * 100.00 / (float)aacidCounterTotal);
  }
  for (i = 0; i < 20; i++) {
    if (aacidCounter[i] > 0)
      for (j = 0; j < aacidCounter[i]; j++) {
        carbonCounter += atomicComposition[i][0];
        hydrogenCounter += atomicComposition[i][1];
        nitrogenCounter += atomicComposition[i][2];
        oxygenCounter += atomicComposition[i][3];
        sulferCounter += atomicComposition[i][4];
      }
  }
  hydrogenCounter = hydrogenCounter - (2 * aacidCounterTotal - 2);
  oxygenCounter = oxygenCounter - (aacidCounterTotal - 1);
  printf("\n\nAtomic Composition\n");
  printf("Carbon     C\t %d\n", carbonCounter);
  printf("Hydrogen   H\t %d\n", hydrogenCounter);
  printf("Nitrogen   N\t %d\n", nitrogenCounter);
  printf("Oxygen     O\t %d\n", oxygenCounter);
  printf("Sulfer     S\t %d\n", sulferCounter);
  printf("\nFormula:");
  if (carbonCounter > 0)
    printf("C%d ", carbonCounter);
  if (hydrogenCounter > 0)
    printf("H%d ", hydrogenCounter);
  if (nitrogenCounter > 0)
    printf("N%d ", nitrogenCounter);
  if (oxygenCounter > 0)
    printf("O%d ", oxygenCounter);
  if (sulferCounter > 0)
    printf("S%d ", sulferCounter);
  printf("\n");
  totalAtoms = carbonCounter + hydrogenCounter + nitrogenCounter + oxygenCounter + sulferCounter;
  printf("Total number of atoms:  %d\n", totalAtoms);
  molecularWeight = carbonCounter * 12.001 + hydrogenCounter * 1.00794 + nitrogenCounter * 14.00674 + oxygenCounter * 15.9994 + sulferCounter * 32.066;
  printf("Molecular weight %f\n\n", molecularWeight);
  printf("Extinction Coefficient\n");
  e1 = aacidCounter[8] * 1490 + aacidCounter[9] * 5500 + (aacidCounter[12] / 2) * 125;
  e2 = aacidCounter[8] * 1490 + aacidCounter[9] * 5500;
  if (e1 != 0 || e2 != 0)
    printf("%d \n%d\n", e1, e2);
  else
    printf("As there are no Trp, Tyr or Cys in the region considered, your proteinshould not be visible by UV spectrophotometry.\n");
  printf("Aliphatic Index ");
  aIndex = (aacidCounter[1] + a * aacidCounter[3] + b * (aacidCounter[5] + aacidCounter[4])) * 10;
  printf("%f \n", aIndex);
  printf("\nGrand average of hydropathicity (GRAVY) ");
  for (i = 0; i < 20; i++)
    GRAVYtotal = GRAVYtotal + ((float)aacidCounter[i] * GRAVYparam[i]);
  GRAVY = GRAVYtotal / aacidCounterTotal;
  printf("%f \n", GRAVY);
  printf("The N-terminal of the sequence considered is %c ", seq[0]);
  for (i = 0; i < 20; i++)
    if (seq[0] == aacid[i])
      printf("(%s)\n", aacidName[i]);
  printf("Estimated Half life\n");
  for (i = 0; i < 20; i++)
    if (seq[0] == aacid[i]) {
      printf("Mammalian\t%s\nYeast\t%s\nE. coli\t%s\n", halfLife[i][0], halfLife[i][1], halfLife[i][2]);
      break;
    }
  absorbance[0] = e1 / molecularWeight;
  absorbance[1] = e2 / molecularWeight;
  printf("\nAbsorbance 1 %f\nAbsorbance 2 %f\n", absorbance[0], absorbance[1]);
  return 0;
}
```