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

```asm
<MakeAngularGrid_350>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x30,%rsp
  mov    %rdi,-0x28(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movl   $0x0,-0x1c(%rbp)
  movsd  D155(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x1c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  movsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  mov    $0x0,%esi
  mov    %rdx,%rdi
  call   <SphGenOh@plt>
  mov    %eax,%edx
  mov    -0x1c(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1c(%rbp)
  movsd  D195(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x1c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  movsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  mov    $0x2,%esi
  mov    %rdx,%rdi
  call   <SphGenOh@plt>
  mov    %eax,%edx
  mov    -0x1c(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1c(%rbp)
  movsd  D28(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  D63(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x1c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  movsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  mov    $0x3,%esi
  mov    %rdx,%rdi
  call   <SphGenOh@plt>
  mov    %eax,%edx
  mov    -0x1c(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1c(%rbp)
  movsd  D245(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  D194(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x1c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  movsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  mov    $0x3,%esi
  mov    %rdx,%rdi
  call   <SphGenOh@plt>
  mov    %eax,%edx
  mov    -0x1c(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1c(%rbp)
  movsd  D17(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  D34(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x1c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  movsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  mov    $0x3,%esi
  mov    %rdx,%rdi
  call   <SphGenOh@plt>
  mov    %eax,%edx
  mov    -0x1c(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1c(%rbp)
  movsd  D188(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  D93(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x1c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  movsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  mov    $0x3,%esi
  mov    %rdx,%rdi
  call   <SphGenOh@plt>
  mov    %eax,%edx
  mov    -0x1c(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1c(%rbp)
  movsd  D225(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  D26(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x1c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  movsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  mov    $0x3,%esi
  mov    %rdx,%rdi
  call   <SphGenOh@plt>
  mov    %eax,%edx
  mov    -0x1c(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1c(%rbp)
  movsd  D133(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  D65(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x1c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  movsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  mov    $0x3,%esi
  mov    %rdx,%rdi
  call   <SphGenOh@plt>
  mov    %eax,%edx
  mov    -0x1c(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1c(%rbp)
  movsd  D200(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  D116(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x1c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  movsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  mov    $0x4,%esi
  mov    %rdx,%rdi
  call   <SphGenOh@plt>
  mov    %eax,%edx
  mov    -0x1c(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1c(%rbp)
  movsd  D255(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  D204(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x1c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  movsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  mov    $0x4,%esi
  mov    %rdx,%rdi
  call   <SphGenOh@plt>
  mov    %eax,%edx
  mov    -0x1c(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1c(%rbp)
  movsd  D211(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  D159(%rip),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  D268(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x1c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  movsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  mov    $0x5,%esi
  mov    %rdx,%rdi
  call   <SphGenOh@plt>
  mov    %eax,%edx
  mov    -0x1c(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1c(%rbp)
  movsd  D208(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  D15(%rip),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  D73(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x1c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  movsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  mov    $0x5,%esi
  mov    %rdx,%rdi
  call   <SphGenOh@plt>
  mov    %eax,%edx
  mov    -0x1c(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1c(%rbp)
  movsd  D242(%rip),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  D113(%rip),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  D203(%rip),%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x1c(%rbp),%eax
  cltq
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,%rdx
  movsd  -0x8(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mov    -0x18(%rbp),%rax
  movapd %xmm1,%xmm2
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  mov    $0x5,%esi
  mov    %rdx,%rdi
  call   <SphGenOh@plt>
  mov    %eax,%edx
  mov    -0x1c(%rbp),%eax
  add    %edx,%eax
  mov    %eax,-0x1c(%rbp)
  mov    -0x1c(%rbp),%eax
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D155
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D195
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D28
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D63
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D245
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D194
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D17
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D34
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D188
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D93
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D225
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D26
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D133
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D65
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D200
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D116
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D255
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D204
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D211
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D159
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D268
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D208
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D15
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D73
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D242
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D113
data_type: byte[8]
name: extract_symbolic_data
arguments: data_tag: D203
data_type: byte[8]

tool: {"D155": [0x21,0x47,0x8c,0xb6,0xb5,0xa1,0x68,0x3f]}

tool: {"D195": [0xd1,0x7d,0xcb,0x4c,0xa1,0xfd,0x68,0x3f]}

tool: {"D28": [0x62,0xfb,0x8c,0x81,0xe5,0x9e,0xe6,0x3f]}

tool: {"D63": [0x63,0xf8,0x76,0xcf,0x67,0x8f,0x5a,0x3f]}

tool: {"D245": [0xfb,0xa5,0xcd,0xa6,0x9b,0xaf,0xde,0x3f]}

tool: {"D194": [0xf4,0xbc,0x88,0xb2,0x69,0x9f,0x68,0x3f]}

tool: {"D17": [0x62,0x9b,0x1b,0x01,0x24,0xac,0xc8,0x3f]}

tool: {"D34": [0x59,0x41,0x1e,0xe3,0x90,0x80,0x68,0x3f]}

tool: {"D188": [0x44,0x1d,0xeb,0x67,0x59,0x2d,0xe6,0x3f]}

tool: {"D93": [0x65,0xac,0x66,0xac,0x10,0x6e,0x68,0x3f]}

tool: {"D225": [0xb6,0x93,0x81,0x99,0xd7,0x17,0xd7,0x3f]}

tool: {"D26": [0x4e,0x35,0x95,0xac,0x88,0x4b,0x66,0x3f]}

tool: {"D133": [0xae,0xd4,0x36,0x53,0x8f,0xcb,0xe4,0x3f]}

tool: {"D65": [0xa1,0x6c,0x70,0x51,0xbd,0xd9,0x68,0x3f]}

tool: {"D200": [0x6b,0xeb,0xd6,0xcc,0xdf,0xbd,0xc8,0x3f]}

tool: {"D116": [0xde,0x3e,0xf7,0x9e,0x20,0xa4,0x68,0x3f]}

tool: {"D255": [0x92,0x52,0xbd,0x1a,0xbb,0x52,0xd8,0x3f]}

tool: {"D204": [0xae,0xbd,0xfc,0xf6,0xea,0x9b,0x67,0x3f]}

tool: {"D211": [0xbe,0x6e,0x35,0x1e,0xa3,0x8e,0xd2,0x3f]}

tool: {"D159": [0x92,0x43,0x89,0x31,0xf9,0x63,0xe9,0x3f]}

tool: {"D268": [0xa7,0xdd,0x2f,0x28,0x20,0x3c,0x68,0x3f]}

tool: {"D208": [0x81,0xd1,0x66,0xf9,0x95,0xca,0xb8,0x3f]}

tool: {"D15": [0x1f,0xd7,0xb2,0xf1,0xa1,0x7f,0xea,0x3f]}

tool: {"D73": [0xa6,0x40,0x26,0xd7,0xfe,0xde,0x68,0x3f]}

tool: {"D242": [0x0a,0x7c,0x6b,0x74,0xcc,0x77,0xc7,0x3f]}

tool: {"D113": [0x08,0xf5,0xe5,0xc5,0xf5,0x09,0xed,0x3f]}

tool: {"D203": [0xd2,0x0b,0xd5,0x08,0x87,0x33,0x67,0x3f]}

assistant: ```c
int MakeAngularGrid_350(double (*pOut)[4]) {
  double a = 0, b = 0, v;
  int N = 0;
  v = 0.3006796749453936e-2;
  N += SphGenOh(&pOut[N][0], 0, a, b, v);
  v = 0.3050627745650771e-2;
  N += SphGenOh(&pOut[N][0], 2, a, b, v);
  a = 0.7068965463912316e+0;
  v = 0.1621104600288991e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.4794682625712025e+0;
  v = 0.3005701484901752e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.1927533154878019e+0;
  v = 0.2990992529653774e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.6930357961327123e+0;
  v = 0.2982170644107595e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.3608302115520091e+0;
  v = 0.2721564237310992e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.6498486161496169e+0;
  v = 0.3033513795811141e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.1932945013230339e+0;
  v = 0.3007949555218533e-2;
  N += SphGenOh(&pOut[N][0], 4, a, b, v);
  a = 0.3800494919899303e+0;
  v = 0.2881964603055307e-2;
  N += SphGenOh(&pOut[N][0], 4, a, b, v);
  a = 0.2899558825499574e+0;
  b = 0.7934537856582316e+0;
  v = 0.2958357626535696e-2;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.9684121455103957e-1;
  b = 0.8280801506686862e+0;
  v = 0.3036020026407088e-2;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.1833434647041659e+0;
  b = 0.9074658265305127e+0;
  v = 0.2832187403926303e-2;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  return N;
}
```