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

```asm
<cond1>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  lea    -0xaf000(%rsp),%r11
L125:
  sub    $0x1000,%rsp
  orq    $0x0,(%rsp)
  cmp    %r11,%rsp
  jne    L125
  sub    $0xcb8,%rsp
  mov    %r8,(%rsp)
  movslq %edi,%r13
  mov    %rsi,%rbp
  mov    %rdx,%r12
  mov    %r13,%rbx
  mov    %rcx,%r11
  mov    %fs:0x28,%rax
  mov    %rax,0xafca8(%rsp)
  xor    %eax,%eax
  lea    (%rsi,%r13,4),%rax
  mov    %rax,0x8(%rsp)
  cmp    $0x1,%r13d
  jle    L30
  lea    -0x2(%r13),%eax
  lea    0x20(%rsp),%r14
  lea    0x8(%rbp,%rax,4),%r9
  lea    0x0(%rbp,%r13,4),%rax
  movslq (%rax),%r8
  lea    0x4(%rsi),%rdx
  lea    (%r14,%r13,8),%rdi
  lea    0x988(%rsp),%rsi
  nopl   (%rax)
L72:
  movslq (%rdx),%rcx
  add    $0x4,%rdx
  add    $0x960,%rdi
  add    $0x968,%rsi
  lea    (%rcx,%rcx,4),%rax
  shl    $0x5,%rax
  add    %r11,%rax
  movsd  (%rax,%r8,8),%xmm0
  movsd  %xmm0,(%rdi)
  movsd  (%rax,%rcx,8),%xmm0
  movsd  %xmm0,-0x968(%rsi)
  cmp    %r9,%rdx
  jne    L72
L56:
  lea    -0x1(%rbx),%r10d
  cmp    $0x1,%r10d
  jle    L37
  lea    -0x3(%rbx),%r15d
  lea    0x12e8(%rsp),%r9
  mov    $0x2,%r8d
  lea    0x980(%rsp),%rdi
  add    $0x3,%r15
  nopl   0x0(%rax)
L18:
  cmp    %r8d,%ebx
  jle    L11
  movslq -0x4(%rbp,%r8,4),%rax
  mov    %r9,%rdx
  lea    (%rax,%rax,4),%rcx
  mov    %r8,%rax
  shl    $0x5,%rcx
  add    %r11,%rcx
  nopl   0x0(%rax,%rax,1)
L51:
  movslq 0x0(%rbp,%rax,4),%rsi
  add    $0x960,%rdx
  movsd  (%rcx,%rsi,8),%xmm0
  movsd  %xmm0,(%rdi,%rax,8)
  add    $0x1,%rax
  movsd  %xmm0,-0x960(%rdx)
  cmp    %eax,%ebx
  jg     L51
L11:
  add    $0x1,%r8
  add    $0x968,%r9
  add    $0x960,%rdi
  cmp    %r8,%r15
  jne    L18
L37:
  mov    (%rsp),%rax
  lea    0x18(%rsp),%rcx
  mov    %ebx,%edx
  mov    %r10d,%esi
  movsd  D0(%rip),%xmm0
  mov    %r14,%rdi
  movl   $0x1,(%rax)
  call   <gepp@plt>
  movsd  0x18(%rsp),%xmm0
  call   <fabs@plt>
  test   %eax,%eax
  jne    L16
  mov    (%rsp),%rax
  movl   $0x0,(%rax)
L16:
  cmp    $0x1,%ebx
  jle    L139
  lea    -0x2(%rbx),%ecx
  pxor   %xmm3,%xmm3
  movsd  D4(%rip),%xmm2
  lea    (%r14,%r13,8),%rdx
  lea    0x4(%rbp),%rax
  lea    0x8(%rbp,%rcx,4),%rsi
  movapd %xmm3,%xmm0
  nopl   0x0(%rax,%rax,1)
L27:
  movslq (%rax),%rcx
  movapd %xmm2,%xmm1
  add    $0x4,%rax
  add    $0x960,%rdx
  subsd  (%r12,%rcx,8),%xmm1
  mulsd  (%rdx),%xmm1
  addsd  %xmm1,%xmm0
  cmp    %rax,%rsi
  jne    L27
L143:
  mov    0x8(%rsp),%rax
  movslq (%rax),%rax
  addsd  (%r12,%rax,8),%xmm0
  comisd %xmm2,%xmm0
  jbe    L17
  movapd %xmm2,%xmm0
L28:
  mov    0xafca8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L48
  add    $0xafcb8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L17:
  maxsd  %xmm0,%xmm3
  movapd %xmm3,%xmm0
  jmp    L28
L139:
  pxor   %xmm3,%xmm3
  movsd  D4(%rip),%xmm2
  movapd %xmm3,%xmm0
  jmp    L143
L30:
  lea    0x20(%rsp),%r14
  jmp    L56
L48:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: disassemble_data
arguments: tag: D0
type_guessed: byte[8]
name: disassemble_data
arguments: tag: D4
type_guessed: f64

tool: {"D0": [0x3a,0x8c,0x30,0xe2,0x8e,0x79,0x45,0x3e]}

tool: D4: 1

assistant: ```c
double cond1(int m, int a[], double p[], double pp[][20], int *idt) {
  double A[300][300];
  double det, tem, tol;
  int i, j;
  void gepp(double[][300], int, int, double *, double);
  tol = 1.e-8;
  for (i = 1; i < m; i++) {
    A[i][m] = pp[a[i]][a[m]];
    A[i][i] = pp[a[i]][a[i]];
  }
  for (i = 1; i < m - 1; i++) {
    for (j = i + 1; j < m; j++) {
      A[i][j] = pp[a[i]][a[j]];
      A[j][i] = A[i][j];
    }
  }
  *idt = 1;
  gepp(A, m - 1, m, &det, tol);
  if (fabs(det) == 0.) {
    *idt = 0;
  }
  for (i = 1, tem = 0.; i < m; i++)
    tem += A[i][m] * (1. - p[a[i]]);
  tem += p[a[m]];
  if (tem > 1.)
    tem = 1;
  if (tem < 0.)
    tem = 0.;
  return (tem);
}
```