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

```asm
<condition_reduction>:
  endbr64
  movd   %esi,%xmm6
  movdqu (%rdi),%xmm7
  pcmpeqd %xmm4,%xmm4
  movdqa D11(%rip),%xmm2
  pshufd $0x0,%xmm6,%xmm0
  movdqu 0x10(%rdi),%xmm6
  movdqa D82(%rip),%xmm5
  movdqa %xmm0,%xmm1
  pcmpgtd %xmm7,%xmm1
  movdqu 0x20(%rdi),%xmm7
  movdqa %xmm1,%xmm3
  pand   %xmm1,%xmm2
  pandn  %xmm4,%xmm3
  por    %xmm2,%xmm3
  movdqa D94(%rip),%xmm2
  pand   %xmm1,%xmm2
  movdqa %xmm0,%xmm1
  pcmpgtd %xmm6,%xmm1
  movdqu 0x30(%rdi),%xmm6
  movdqa %xmm1,%xmm4
  pand   %xmm1,%xmm5
  pandn  %xmm3,%xmm4
  movdqa D135(%rip),%xmm3
  por    %xmm5,%xmm4
  movdqa D33(%rip),%xmm5
  pand   %xmm1,%xmm3
  pandn  %xmm2,%xmm1
  movdqa %xmm1,%xmm2
  movdqa %xmm0,%xmm1
  pcmpgtd %xmm7,%xmm1
  por    %xmm3,%xmm2
  movdqu 0x40(%rdi),%xmm7
  movdqa %xmm1,%xmm3
  pand   %xmm1,%xmm5
  pandn  %xmm4,%xmm3
  movdqa D19(%rip),%xmm4
  por    %xmm5,%xmm3
  movdqa D130(%rip),%xmm5
  pand   %xmm1,%xmm4
  pandn  %xmm2,%xmm1
  movdqa %xmm1,%xmm2
  movdqa %xmm0,%xmm1
  pcmpgtd %xmm6,%xmm1
  por    %xmm4,%xmm2
  movdqu 0x50(%rdi),%xmm6
  movdqa %xmm1,%xmm4
  pand   %xmm1,%xmm5
  pandn  %xmm3,%xmm4
  movdqa D114(%rip),%xmm3
  por    %xmm5,%xmm4
  movdqa D122(%rip),%xmm5
  pand   %xmm1,%xmm3
  pandn  %xmm2,%xmm1
  movdqa %xmm1,%xmm2
  movdqa %xmm0,%xmm1
  pcmpgtd %xmm7,%xmm1
  por    %xmm3,%xmm2
  movdqu 0x60(%rdi),%xmm7
  movdqa %xmm1,%xmm3
  pand   %xmm1,%xmm5
  pandn  %xmm4,%xmm3
  movdqa D80(%rip),%xmm4
  por    %xmm5,%xmm3
  movdqa D141(%rip),%xmm5
  pand   %xmm1,%xmm4
  pandn  %xmm2,%xmm1
  movdqa %xmm1,%xmm2
  movdqa %xmm0,%xmm1
  pcmpgtd %xmm6,%xmm1
  por    %xmm4,%xmm2
  movdqa %xmm1,%xmm4
  pand   %xmm1,%xmm5
  pandn  %xmm3,%xmm4
  movdqa D69(%rip),%xmm3
  por    %xmm5,%xmm4
  movdqa D97(%rip),%xmm5
  pand   %xmm1,%xmm3
  pandn  %xmm2,%xmm1
  movdqa %xmm1,%xmm2
  movdqa %xmm0,%xmm1
  pcmpgtd %xmm7,%xmm1
  por    %xmm3,%xmm2
  movdqa %xmm1,%xmm3
  pand   %xmm1,%xmm5
  pandn  %xmm4,%xmm3
  movdqa D12(%rip),%xmm4
  por    %xmm5,%xmm3
  pand   %xmm1,%xmm4
  pandn  %xmm2,%xmm1
  movdqa %xmm1,%xmm2
  movdqu 0x70(%rdi),%xmm1
  por    %xmm4,%xmm2
  movdqa D100(%rip),%xmm4
  pcmpgtd %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  pand   %xmm0,%xmm4
  pandn  %xmm3,%xmm1
  movdqa D126(%rip),%xmm3
  por    %xmm4,%xmm1
  pand   %xmm0,%xmm3
  pandn  %xmm2,%xmm0
  por    %xmm3,%xmm0
  pshufd $0x55,%xmm0,%xmm2
  movd   %xmm0,%edi
  movd   %xmm2,%ecx
  movd   %xmm2,%edx
  movdqa %xmm0,%xmm2
  cmp    %ecx,%edi
  punpckhdq %xmm0,%xmm2
  cmovae %edi,%edx
  movd   %xmm2,%esi
  cmp    %esi,%edx
  jb     L19
  pshufd $0x55,%xmm1,%xmm2
  movd   %xmm1,%r8d
  cmp    %ecx,%edi
  movd   %xmm2,%eax
  cmovae %r8d,%eax
L16:
  pshufd $0xff,%xmm0,%xmm0
  pshufd $0xff,%xmm1,%xmm1
  cmp    %esi,%edx
  cmovae %edx,%esi
  movd   %xmm0,%edx
  movd   %xmm1,%ecx
  cmp    %edx,%esi
  cmovb  %ecx,%eax
  ret
  nopl   0x0(%rax,%rax,1)
L19:
  movdqa %xmm1,%xmm2
  punpckhdq %xmm1,%xmm2
  movd   %xmm2,%eax
  jmp    L16
```

tool_calls: name: parse_data
arguments: data_tag: D11
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D82
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D94
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D135
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D33
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D19
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D130
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D114
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D122
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D80
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D141
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D69
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D97
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D12
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D100
type_guessed: byte[16]
name: parse_data
arguments: data_tag: D126
type_guessed: byte[16]

tool: {"D11": [0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xfe,0xff,0xff,0xff,0xfd,0xff,0xff,0xff]}

tool: {"D82": [0xfc,0xff,0xff,0xff,0xfb,0xff,0xff,0xff,0xfa,0xff,0xff,0xff,0xf9,0xff,0xff,0xff]}

tool: {"D94": [0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x00]}

tool: {"D135": [0x05,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x08,0x00,0x00,0x00]}

tool: {"D33": [0xf8,0xff,0xff,0xff,0xf7,0xff,0xff,0xff,0xf6,0xff,0xff,0xff,0xf5,0xff,0xff,0xff]}

tool: {"D19": [0x09,0x00,0x00,0x00,0x0a,0x00,0x00,0x00,0x0b,0x00,0x00,0x00,0x0c,0x00,0x00,0x00]}

tool: {"D130": [0xf4,0xff,0xff,0xff,0xf3,0xff,0xff,0xff,0xf2,0xff,0xff,0xff,0xf1,0xff,0xff,0xff]}

tool: {"D114": [0x0d,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x0f,0x00,0x00,0x00,0x10,0x00,0x00,0x00]}

tool: {"D122": [0xf0,0xff,0xff,0xff,0xef,0xff,0xff,0xff,0xee,0xff,0xff,0xff,0xed,0xff,0xff,0xff]}

tool: {"D80": [0x11,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x13,0x00,0x00,0x00,0x14,0x00,0x00,0x00]}

tool: {"D141": [0xec,0xff,0xff,0xff,0xeb,0xff,0xff,0xff,0xea,0xff,0xff,0xff,0xe9,0xff,0xff,0xff]}

tool: {"D69": [0x15,0x00,0x00,0x00,0x16,0x00,0x00,0x00,0x17,0x00,0x00,0x00,0x18,0x00,0x00,0x00]}

tool: {"D97": [0xe8,0xff,0xff,0xff,0xe7,0xff,0xff,0xff,0xe6,0xff,0xff,0xff,0xe5,0xff,0xff,0xff]}

tool: {"D12": [0x19,0x00,0x00,0x00,0x1a,0x00,0x00,0x00,0x1b,0x00,0x00,0x00,0x1c,0x00,0x00,0x00]}

tool: {"D100": [0xe4,0xff,0xff,0xff,0xe3,0xff,0xff,0xff,0xe2,0xff,0xff,0xff,0xe1,0xff,0xff,0xff]}

tool: {"D126": [0x1d,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x1f,0x00,0x00,0x00,0x20,0x00,0x00,0x00]}

assistant: ```c
signed int condition_reduction(signed int *a, signed int min_v) {
  signed int last = -1;
  for (signed int i = 0; i < 32; i++)
    if (a[i] < min_v)
      last = -i;
  return last;
}
```