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

```asm
<MakeAngularGrid_170>:
  endbr64
  push   %rbp
  pxor   %xmm1,%xmm1
  xor    %esi,%esi
  mov    %rdi,%rbp
  push   %rbx
  movapd %xmm1,%xmm0
  sub    $0x8,%rsp
  movsd  D7(%rip),%xmm2
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x1,%esi
  movsd  D59(%rip),%xmm2
  movslq %eax,%rdi
  movapd %xmm3,%xmm1
  movapd %xmm3,%xmm0
  mov    %rax,%rbx
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x2,%esi
  movsd  D12(%rip),%xmm2
  add    %eax,%ebx
  movapd %xmm3,%xmm1
  movapd %xmm3,%xmm0
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x3,%esi
  movsd  D115(%rip),%xmm2
  add    %eax,%ebx
  movsd  D122(%rip),%xmm0
  movapd %xmm3,%xmm1
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x3,%esi
  movsd  D137(%rip),%xmm2
  add    %eax,%ebx
  movsd  D32(%rip),%xmm0
  movapd %xmm3,%xmm1
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x3,%esi
  movsd  D98(%rip),%xmm2
  add    %eax,%ebx
  movsd  D28(%rip),%xmm0
  movapd %xmm3,%xmm1
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x4,%esi
  movsd  D8(%rip),%xmm2
  add    %eax,%ebx
  movsd  D43(%rip),%xmm0
  movapd %xmm3,%xmm1
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  movsd  D51(%rip),%xmm2
  mov    $0x5,%esi
  movsd  D81(%rip),%xmm1
  add    %eax,%ebx
  movsd  D97(%rip),%xmm0
  movslq %ebx,%rax
  shl    $0x5,%rax
  lea    0x0(%rbp,%rax,1),%rdi
  call   <SphGenOh@plt>
  add    $0x8,%rsp
  add    %ebx,%eax
  pop    %rbx
  pop    %rbp
  ret
```

tool_calls: name: unpack_data
arguments: data_tag: D7
datatype: byte[8]
name: unpack_data
arguments: data_tag: D59
datatype: byte[8]
name: unpack_data
arguments: data_tag: D12
datatype: byte[8]
name: unpack_data
arguments: data_tag: D115
datatype: byte[8]
name: unpack_data
arguments: data_tag: D122
datatype: byte[8]
name: unpack_data
arguments: data_tag: D137
datatype: byte[8]
name: unpack_data
arguments: data_tag: D32
datatype: byte[8]
name: unpack_data
arguments: data_tag: D98
datatype: byte[8]
name: unpack_data
arguments: data_tag: D28
datatype: byte[8]
name: unpack_data
arguments: data_tag: D8
datatype: byte[8]
name: unpack_data
arguments: data_tag: D43
datatype: byte[8]
name: unpack_data
arguments: data_tag: D51
datatype: byte[8]
name: unpack_data
arguments: data_tag: D81
datatype: byte[8]
name: unpack_data
arguments: data_tag: D97
datatype: byte[8]

tool: {"D7": [0x6b,0xb3,0xcf,0x6e,0x30,0xb6,0x76,0x3f]}

tool: {"D59": [0x14,0x33,0x17,0xfb,0x40,0xde,0x78,0x3f]}

tool: {"D12": [0x02,0xb9,0x16,0xa6,0xc4,0x25,0x7a,0x3f]}

tool: {"D115": [0xcd,0xf9,0xbf,0x02,0x2d,0x3b,0x75,0x3f]}

tool: {"D122": [0x86,0xb9,0x49,0xe8,0xf8,0x53,0xd0,0x3f]}

tool: {"D137": [0x57,0x0e,0x9c,0x27,0xd4,0xe0,0x79,0x3f]}

tool: {"D32": [0x71,0x73,0x9e,0xba,0x5b,0x94,0xe5,0x3f]}

tool: {"D98": [0x59,0xfd,0xbd,0x1d,0xec,0x66,0x79,0x3f]}

tool: {"D28": [0x7a,0x3a,0xeb,0x70,0x1a,0xa4,0xdb,0x3f]}

tool: {"D8": [0x56,0x47,0x6f,0x7b,0x33,0x6f,0x76,0x3f]}

tool: {"D43": [0xa4,0x71,0xaa,0x46,0xaa,0xba,0xd0,0x3f]}

tool: {"D51": [0xe4,0xcc,0x97,0xe0,0x4d,0x72,0x78,0x3f]}

tool: {"D81": [0x89,0x2f,0xd0,0xd2,0x51,0x84,0xc2,0x3f]}

tool: {"D97": [0xfa,0xa7,0x0d,0xc4,0x5b,0xf0,0xdf,0x3f]}

assistant: ```c
int MakeAngularGrid_170(double (*pOut)[4]) {
  double a = 0, b = 0, v;
  int N = 0;
  v = 0.5544842902037365e-2;
  N += SphGenOh(&pOut[N][0], 0, a, b, v);
  v = 0.6071332770670752e-2;
  N += SphGenOh(&pOut[N][0], 1, a, b, v);
  v = 0.6383674773515093e-2;
  N += SphGenOh(&pOut[N][0], 2, a, b, v);
  a = 0.2551252621114134e+0;
  v = 0.5183387587747790e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.6743601460362766e+0;
  v = 0.6317929009813725e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.4318910696719410e+0;
  v = 0.6201670006589077e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.2613931360335988e+0;
  v = 0.5477143385137348e-2;
  N += SphGenOh(&pOut[N][0], 4, a, b, v);
  a = 0.4990453161796037e+0;
  b = 0.1446630744325115e+0;
  v = 0.5968383987681156e-2;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  return N;
}
```