user: 下面的汇编指令对应的C源代码是什么:

```asm
<mycs>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xb0,%rsp
  mov    %rdi,-0xa8(%rbp)
  mov    %rsi,-0xb0(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    -0xa8(%rbp),%rax
  movsd  0x18(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x28(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x8(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x38(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x20(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x18(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x28(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x8(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x38(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x20(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  comisd -0x88(%rbp),%xmm0
  jbe    L42
  movsd  D175(%rip),%xmm0
  jmp    L118
L42:
  movsd  D298(%rip),%xmm0
L118:
  movsd  %xmm0,-0x70(%rbp)
  mov    -0xa8(%rbp),%rax
  movsd  0x8(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x8(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x8(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  mov    -0xa8(%rbp),%rax
  movsd  0x38(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x38(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x38(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x88(%rbp),%xmm1
  movsd  D67(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x68(%rbp)
  mov    -0xa8(%rbp),%rax
  movsd  0x18(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x18(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x18(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  mov    -0xa8(%rbp),%rax
  movsd  0x28(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x28(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x28(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x88(%rbp),%xmm1
  movsd  D67(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  mov    -0xa8(%rbp),%rax
  movsd  0x8(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x38(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x20(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x8(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x38(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x20(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x88(%rbp),%xmm1
  movsd  D67(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x10(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x8(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x8(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x8(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x30(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x40(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x38(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x38(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x38(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  comisd -0x88(%rbp),%xmm0
  jbe    L6
  movsd  D175(%rip),%xmm0
  jmp    L55
L6:
  movsd  D298(%rip),%xmm0
L55:
  movsd  %xmm0,-0x50(%rbp)
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x18(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x30(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x10(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x28(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x40(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x88(%rbp),%xmm1
  movsd  D67(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  mov    -0xa8(%rbp),%rax
  movsd  0x18(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x28(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x20(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x18(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x28(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x20(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x88(%rbp),%xmm1
  movsd  D67(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x10(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x8(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x30(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x40(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x38(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  -0x88(%rbp),%xmm1
  movsd  D67(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0xa8(%rbp),%rax
  movsd  0x18(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x18(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x30(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x18(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  mov    -0xa8(%rbp),%rax
  movsd  0x28(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x28(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x10(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x40(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x28(%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  comisd -0x88(%rbp),%xmm0
  jbe    L89
  movsd  D175(%rip),%xmm0
  jmp    L119
L89:
  movsd  D298(%rip),%xmm0
L119:
  movsd  %xmm0,-0x30(%rbp)
  movsd  -0x70(%rbp),%xmm0
  movq   D76(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  -0x68(%rbp),%xmm0
  movq   D76(%rip),%xmm2
  andpd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  movsd  -0x60(%rbp),%xmm0
  movq   D76(%rip),%xmm2
  andpd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  -0x70(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  movsd  %xmm0,-0x70(%rbp)
  movsd  -0x68(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  movsd  %xmm0,-0x68(%rbp)
  movsd  -0x60(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x58(%rbp),%xmm0
  movq   D76(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  -0x50(%rbp),%xmm0
  movq   D76(%rip),%xmm2
  andpd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  movsd  -0x48(%rbp),%xmm0
  movq   D76(%rip),%xmm2
  andpd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  -0x58(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x50(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x48(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0x40(%rbp),%xmm0
  movq   D76(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  -0x38(%rbp),%xmm0
  movq   D76(%rip),%xmm2
  andpd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  movsd  -0x30(%rbp),%xmm0
  movq   D76(%rip),%xmm2
  andpd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  -0x40(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x38(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  movsd  %xmm0,-0x38(%rbp)
  movsd  -0x30(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  -0x70(%rbp),%xmm0
  movq   D76(%rip),%xmm1
  andpd  %xmm1,%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  -0x50(%rbp),%xmm0
  movq   D76(%rip),%xmm1
  andpd  %xmm1,%xmm0
  movsd  %xmm0,-0x80(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movq   D76(%rip),%xmm1
  andpd  %xmm1,%xmm0
  movsd  %xmm0,-0x78(%rbp)
  movl   $0x0,-0x9c(%rbp)
  movsd  -0x80(%rbp),%xmm0
  comisd -0x98(%rbp),%xmm0
  jbe    L35
  movsd  -0x80(%rbp),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movl   $0x1,-0x9c(%rbp)
L35:
  movsd  -0x78(%rbp),%xmm0
  comisd -0x98(%rbp),%xmm0
  jbe    L19
  movl   $0x2,-0x9c(%rbp)
L19:
  mov    -0xa8(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x30(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x10(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x40(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x8(%rax),%xmm2
  mov    -0xa8(%rbp),%rax
  movsd  0x38(%rax),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0xa8(%rbp),%rax
  movsd  0x18(%rax),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0xa8(%rbp),%rax
  movsd  0x28(%rax),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x20(%rax),%xmm2
  movsd  D49(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  (%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x30(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x10(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x40(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x8(%rax),%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x38(%rax),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x18(%rax),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x28(%rax),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x20(%rax),%xmm2
  movsd  D49(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  subsd  -0x88(%rbp),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  mov    -0xa8(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x10(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x10(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x8(%rax),%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x8(%rax),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x10(%rax),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x8(%rax),%xmm2
  movsd  D49(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  mov    -0xa8(%rbp),%rax
  movsd  0x30(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x40(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x30(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x40(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x38(%rax),%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x38(%rax),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x30(%rax),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x40(%rax),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x38(%rax),%xmm2
  movsd  D49(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  subsd  -0x88(%rbp),%xmm0
  movsd  %xmm0,-0x20(%rbp)
  mov    -0xa8(%rbp),%rax
  movsd  (%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x30(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x30(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x18(%rax),%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x18(%rax),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x30(%rax),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x18(%rax),%xmm2
  movsd  D49(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  mov    -0xa8(%rbp),%rax
  movsd  0x10(%rax),%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x40(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x10(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x40(%rax),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  movsd  0x28(%rax),%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x90,%rax
  movsd  0x28(%rax),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x10(%rax),%xmm0
  addsd  %xmm0,%xmm2
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x40(%rax),%xmm0
  addsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0xa8(%rbp),%rax
  add    $0x48,%rax
  movsd  0x28(%rax),%xmm2
  movsd  D49(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  subsd  -0x88(%rbp),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movq   D76(%rip),%xmm1
  andpd  %xmm0,%xmm1
  movsd  -0x20(%rbp),%xmm0
  movq   D76(%rip),%xmm2
  andpd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  movsd  -0x18(%rbp),%xmm0
  movq   D76(%rip),%xmm2
  andpd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  movsd  D353(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  -0x28(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  movsd  -0x20(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  movsd  %xmm0,-0x20(%rbp)
  movsd  -0x18(%rbp),%xmm0
  divsd  -0x98(%rbp),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0x28(%rbp),%xmm0
  movq   D76(%rip),%xmm1
  andpd  %xmm1,%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  -0x20(%rbp),%xmm0
  movq   D76(%rip),%xmm1
  andpd  %xmm1,%xmm0
  movsd  %xmm0,-0x80(%rbp)
  movsd  -0x18(%rbp),%xmm0
  movq   D76(%rip),%xmm1
  andpd  %xmm1,%xmm0
  movsd  %xmm0,-0x78(%rbp)
  movsd  -0x80(%rbp),%xmm0
  comisd -0x98(%rbp),%xmm0
  jbe    L62
  movsd  -0x80(%rbp),%xmm0
  movsd  %xmm0,-0x98(%rbp)
L62:
  movsd  -0x78(%rbp),%xmm0
  comisd -0x98(%rbp),%xmm0
  jbe    L100
  movsd  -0x78(%rbp),%xmm0
  movsd  %xmm0,-0x98(%rbp)
L100:
  mov    -0x9c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  add    %rbp,%rax
  sub    $0x70,%rax
  movsd  (%rax),%xmm0
  movq   D76(%rip),%xmm1
  andpd  %xmm1,%xmm0
  comisd -0x98(%rbp),%xmm0
  jbe    L23
  movl   $0x3,-0x9c(%rbp)
L23:
  mov    -0x9c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  add    %rbp,%rax
  sub    $0x70,%rax
  movsd  (%rax),%xmm0
  mov    -0xb0(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0xb0(%rbp),%rax
  lea    0x8(%rax),%rcx
  mov    -0x9c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  add    %rbp,%rax
  sub    $0x68,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,(%rcx)
  mov    -0xb0(%rbp),%rax
  lea    0x10(%rax),%rcx
  mov    -0x9c(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  add    %rbp,%rax
  sub    $0x60,%rax
  movsd  (%rax),%xmm0
  movsd  %xmm0,(%rcx)
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L9
  call   <__stack_chk_fail@plt>
L9:
  leave
  ret
```

tool_calls: name: disassemble_data
arguments: tag: D175
data_type: f64
name: disassemble_data
arguments: tag: D298
data_type: byte[8]
name: disassemble_data
arguments: tag: D67
data_type: f64
name: disassemble_data
arguments: tag: D76
data_type: qword
name: disassemble_data
arguments: tag: D49
data_type: f64
name: disassemble_data
arguments: tag: D353
data_type: byte[8]

tool: D175: 1

tool: {"D298": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xbf]}

tool: D67: 0.5

tool: D76: 9223372036854775807

tool: D49: 4

tool: {"D353": [0xa0,0xc2,0xeb,0xfe,0x4b,0x48,0xb4,0x39]}

assistant: ```c
void mycs(double c[3][3][3], double mxyz[3]) {
  double m1, m2, m[4][3], t0, t1, t2;
  int cn;
  m1 = c[0][1][0] + c[0][1][2] + c[0][0][1] + c[0][2][1] + c[0][1][1];
  m2 = c[2][1][0] + c[2][1][2] + c[2][0][1] + c[2][2][1] + c[2][1][1];
  m[0][0] = m1 > m2 ? 1. : -1.;
  m1 = c[0][0][1] + c[2][0][1] + c[1][0][1];
  m2 = c[0][2][1] + c[2][2][1] + c[1][2][1];
  m[0][1] = 0.5 * (m1 - m2);
  m1 = c[0][1][0] + c[2][1][0] + c[1][1][0];
  m2 = c[0][1][2] + c[2][1][2] + c[1][1][2];
  m[0][2] = 0.5 * (m1 - m2);
  m1 = c[0][0][1] + c[0][2][1] + c[0][1][1];
  m2 = c[2][0][1] + c[2][2][1] + c[2][1][1];
  m[1][0] = 0.5 * (m1 - m2);
  m1 = c[1][0][0] + c[1][0][2] + c[2][0][1] + c[0][0][1] + c[1][0][1];
  m2 = c[1][2][0] + c[1][2][2] + c[2][2][1] + c[0][2][1] + c[1][2][1];
  m[1][1] = m1 > m2 ? 1. : -1.;
  m1 = c[1][0][0] + c[1][1][0] + c[1][2][0];
  m2 = c[1][0][2] + c[1][1][2] + c[1][2][2];
  m[1][2] = 0.5 * (m1 - m2);
  m1 = c[0][1][0] + c[0][1][2] + c[0][1][1];
  m2 = c[2][1][0] + c[2][1][2] + c[2][1][1];
  m[2][0] = 0.5 * (m1 - m2);
  m1 = c[1][0][0] + c[1][0][2] + c[1][0][1];
  m2 = c[1][2][0] + c[1][2][2] + c[1][2][1];
  m[2][1] = 0.5 * (m1 - m2);
  m1 = c[0][1][0] + c[2][1][0] + c[1][0][0] + c[1][2][0] + c[1][1][0];
  m2 = c[0][1][2] + c[2][1][2] + c[1][0][2] + c[1][2][2] + c[1][1][2];
  m[2][2] = m1 > m2 ? 1. : -1.;
  t0 = fabs(m[0][0]) + fabs(m[0][1]) + fabs(m[0][2]);
  m[0][0] /= t0;
  m[0][1] /= t0;
  m[0][2] /= t0;
  t0 = fabs(m[1][0]) + fabs(m[1][1]) + fabs(m[1][2]);
  m[1][0] /= t0;
  m[1][1] /= t0;
  m[1][2] /= t0;
  t0 = fabs(m[2][0]) + fabs(m[2][1]) + fabs(m[2][2]);
  m[2][0] /= t0;
  m[2][1] /= t0;
  m[2][2] /= t0;
  t0 = fabs(m[0][0]);
  t1 = fabs(m[1][1]);
  t2 = fabs(m[2][2]);
  cn = 0;
  if (t1 > t0) {
    t0 = t1;
    cn = 1;
  }
  if (t2 > t0)
    cn = 2;
  m1 = c[0][0][0] + c[0][2][0] + c[0][0][2] + c[0][2][2] + 2. * (c[0][0][1] + c[0][2][1] + c[0][1][0] + c[0][1][2]) + 4. * c[0][1][1];
  m2 = c[2][0][0] + c[2][2][0] + c[2][0][2] + c[2][2][2] + 2. * (c[2][0][1] + c[2][2][1] + c[2][1][0] + c[2][1][2]) + 4. * c[2][1][1];
  m[3][0] = m1 - m2;
  m1 = c[0][0][0] + c[0][0][2] + c[2][0][0] + c[2][0][2] + 2. * (c[0][0][1] + c[2][0][1] + c[1][0][0] + c[1][0][2]) + 4. * c[1][0][1];
  m2 = c[0][2][0] + c[0][2][2] + c[2][2][0] + c[2][2][2] + 2. * (c[0][2][1] + c[2][2][1] + c[1][2][0] + c[1][2][2]) + 4. * c[1][2][1];
  m[3][1] = m1 - m2;
  m1 = c[0][0][0] + c[0][2][0] + c[2][0][0] + c[2][2][0] + 2. * (c[0][1][0] + c[2][1][0] + c[1][0][0] + c[1][2][0]) + 4. * c[1][1][0];
  m2 = c[0][0][2] + c[0][2][2] + c[2][0][2] + c[2][2][2] + 2. * (c[0][1][2] + c[2][1][2] + c[1][0][2] + c[1][2][2]) + 4. * c[1][1][2];
  m[3][2] = m1 - m2;
  t0 = fabs(m[3][0]) + fabs(m[3][1]) + fabs(m[3][2]) + 1.e-30;
  m[3][0] /= t0;
  m[3][1] /= t0;
  m[3][2] /= t0;
  t0 = fabs(m[3][0]);
  t1 = fabs(m[3][1]);
  t2 = fabs(m[3][2]);
  if (t1 > t0)
    t0 = t1;
  if (t2 > t0)
    t0 = t2;
  if (fabs(m[cn][cn]) > t0)
    cn = 3;
  mxyz[0] = m[cn][0];
  mxyz[1] = m[cn][1];
  mxyz[2] = m[cn][2];
  return;
}
```