user: Converte this assembly snippet into its equivalent C code:

```asm
<MakeAngularGrid_434>:
  endbr64
  push   %rbp
  pxor   %xmm1,%xmm1
  xor    %esi,%esi
  mov    %rdi,%rbp
  push   %rbx
  movapd %xmm1,%xmm0
  sub    $0x8,%rsp
  movsd  D30(%rip),%xmm2
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x1,%esi
  movsd  D0(%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  D272(%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  D205(%rip),%xmm2
  add    %eax,%ebx
  movsd  D35(%rip),%xmm0
  movapd %xmm3,%xmm1
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x3,%esi
  movsd  D257(%rip),%xmm2
  add    %eax,%ebx
  movsd  D313(%rip),%xmm0
  movapd %xmm3,%xmm1
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x3,%esi
  movsd  D56(%rip),%xmm2
  add    %eax,%ebx
  movsd  D89(%rip),%xmm0
  movapd %xmm3,%xmm1
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x3,%esi
  movsd  D163(%rip),%xmm2
  add    %eax,%ebx
  movsd  D48(%rip),%xmm0
  movapd %xmm3,%xmm1
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x3,%esi
  movsd  D43(%rip),%xmm2
  add    %eax,%ebx
  movsd  D218(%rip),%xmm0
  movapd %xmm3,%xmm1
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x3,%esi
  movsd  D191(%rip),%xmm2
  add    %eax,%ebx
  movsd  D184(%rip),%xmm0
  movapd %xmm3,%xmm1
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x3,%esi
  movsd  D236(%rip),%xmm2
  add    %eax,%ebx
  movsd  D76(%rip),%xmm0
  movapd %xmm3,%xmm1
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x4,%esi
  movsd  D60(%rip),%xmm2
  add    %eax,%ebx
  movsd  D59(%rip),%xmm0
  movapd %xmm3,%xmm1
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  pxor   %xmm3,%xmm3
  mov    $0x4,%esi
  movsd  D77(%rip),%xmm2
  add    %eax,%ebx
  movsd  D3(%rip),%xmm0
  movapd %xmm3,%xmm1
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  movsd  D266(%rip),%xmm2
  mov    $0x5,%esi
  movsd  D91(%rip),%xmm1
  add    %eax,%ebx
  movsd  D80(%rip),%xmm0
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  movsd  D7(%rip),%xmm2
  mov    $0x5,%esi
  movsd  D57(%rip),%xmm1
  add    %eax,%ebx
  movsd  D128(%rip),%xmm0
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  movsd  D110(%rip),%xmm2
  mov    $0x5,%esi
  movsd  D88(%rip),%xmm1
  add    %eax,%ebx
  movsd  D299(%rip),%xmm0
  movslq %ebx,%rdi
  shl    $0x5,%rdi
  add    %rbp,%rdi
  call   <SphGenOh@plt>
  movsd  D285(%rip),%xmm2
  mov    $0x5,%esi
  movsd  D196(%rip),%xmm1
  add    %eax,%ebx
  movsd  D203(%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: read_data
arguments: label: D30
type_infered: byte[8]
name: read_data
arguments: label: D0
type_infered: byte[8]
name: read_data
arguments: label: D272
type_infered: byte[8]
name: read_data
arguments: label: D205
type_infered: byte[8]
name: read_data
arguments: label: D35
type_infered: byte[8]
name: read_data
arguments: label: D257
type_infered: byte[8]
name: read_data
arguments: label: D313
type_infered: byte[8]
name: read_data
arguments: label: D56
type_infered: byte[8]
name: read_data
arguments: label: D89
type_infered: byte[8]
name: read_data
arguments: label: D163
type_infered: byte[8]
name: read_data
arguments: label: D48
type_infered: byte[8]
name: read_data
arguments: label: D43
type_infered: byte[8]
name: read_data
arguments: label: D218
type_infered: byte[8]
name: read_data
arguments: label: D191
type_infered: byte[8]
name: read_data
arguments: label: D184
type_infered: byte[8]
name: read_data
arguments: label: D236
type_infered: byte[8]
name: read_data
arguments: label: D76
type_infered: byte[8]
name: read_data
arguments: label: D60
type_infered: byte[8]
name: read_data
arguments: label: D59
type_infered: byte[8]
name: read_data
arguments: label: D77
type_infered: byte[8]
name: read_data
arguments: label: D3
type_infered: byte[8]
name: read_data
arguments: label: D266
type_infered: byte[8]
name: read_data
arguments: label: D91
type_infered: byte[8]
name: read_data
arguments: label: D80
type_infered: byte[8]
name: read_data
arguments: label: D7
type_infered: byte[8]
name: read_data
arguments: label: D57
type_infered: byte[8]
name: read_data
arguments: label: D128
type_infered: byte[8]
name: read_data
arguments: label: D110
type_infered: byte[8]
name: read_data
arguments: label: D88
type_infered: byte[8]
name: read_data
arguments: label: D299
type_infered: byte[8]
name: read_data
arguments: label: D285
type_infered: byte[8]
name: read_data
arguments: label: D196
type_infered: byte[8]
name: read_data
arguments: label: D203
type_infered: byte[8]

tool: {"D30": [0x4c,0x55,0x56,0xfa,0x5a,0x41,0x41,0x3f]}

tool: {"D0": [0xfe,0x21,0x2b,0x2e,0x01,0xe0,0x64,0x3f]}

tool: {"D272": [0xda,0xca,0xd8,0x24,0xb6,0x94,0x64,0x3f]}

tool: {"D205": [0x83,0xef,0x4b,0x32,0xa4,0xba,0x64,0x3f]}

tool: {"D35": [0xcd,0xf7,0x57,0xf1,0x22,0x1c,0xe6,0x3f]}

tool: {"D257": [0xc8,0xb9,0xa2,0xd0,0x3f,0x80,0x60,0x3f]}

tool: {"D313": [0x44,0xf1,0x83,0x64,0xc8,0xb7,0xc6,0x3f]}

tool: {"D56": [0xb5,0x15,0x05,0x79,0x7f,0x7e,0x64,0x3f]}

tool: {"D89": [0x21,0xfe,0xc3,0xb2,0xa8,0x73,0xdf,0x3f]}

tool: {"D163": [0x2d,0xb0,0x45,0x0a,0xb4,0x96,0x64,0x3f]}

tool: {"D48": [0x76,0xcc,0xfe,0xba,0x4c,0xa9,0xe4,0x3f]}

tool: {"D43": [0xc1,0xe6,0x08,0xd9,0x19,0xdd,0x62,0x3f]}

tool: {"D218": [0xf6,0x85,0x17,0x98,0xef,0x4f,0xd2,0x3f]}

tool: {"D191": [0xf1,0xf1,0x60,0xb7,0x26,0xf6,0x57,0x3f]}

tool: {"D184": [0x20,0x05,0x81,0xdc,0xd1,0x5f,0xb3,0x3f]}

tool: {"D236": [0xe4,0x90,0x12,0xde,0x51,0x08,0x64,0x3f]}

tool: {"D76": [0x9e,0xff,0x29,0x22,0x6c,0x22,0xd9,0x3f]}

tool: {"D60": [0xb9,0xca,0x2f,0x7e,0xbe,0xcd,0x63,0x3f]}

tool: {"D59": [0xb7,0x1b,0x06,0x80,0xd0,0x37,0xec,0x3f]}

tool: {"D77": [0xa6,0xab,0xb7,0x50,0x1c,0x4f,0x5f,0x3f]}

tool: {"D3": [0xbc,0x84,0x9d,0x93,0xd9,0x48,0xef,0x3f]}

tool: {"D266": [0x3a,0x33,0xe8,0x6f,0xab,0xcc,0x63,0x3f]}

tool: {"D91": [0x85,0x34,0xd5,0xe8,0x67,0xce,0xeb,0x3f]}

tool: {"D80": [0x8b,0x3d,0xc1,0x0c,0x3f,0x4d,0xca,0x3f]}

tool: {"D7": [0x2b,0x3d,0x2a,0xe4,0x8a,0x94,0x64,0x3f]}

tool: {"D57": [0x7f,0xe0,0xb7,0x4c,0x02,0x99,0xe9,0x3f]}

tool: {"D128": [0x96,0x35,0x09,0x31,0x81,0xe5,0xe2,0x3f]}

tool: {"D110": [0x16,0xc4,0x0c,0x92,0xd7,0x73,0x64,0x3f]}

tool: {"D88": [0x64,0x42,0xe2,0x37,0x25,0xb2,0xe8,0x3f]}

tool: {"D299": [0x95,0xa7,0xfb,0x4f,0xaf,0xc2,0xe1,0x3f]}

tool: {"D285": [0xb6,0x03,0xec,0xa5,0x81,0x52,0x62,0x3f]}

tool: {"D196": [0x22,0x44,0x61,0x92,0x67,0x67,0xd5,0x3f]}

tool: {"D203": [0xd1,0xd1,0x95,0xfa,0x62,0xfd,0xed,0x3f]}

assistant: ```c
int MakeAngularGrid_434(double (*pOut)[4]) {
  double a = 0, b = 0, v;
  int N = 0;
  v = 0.5265897968224436e-3;
  N += SphGenOh(&pOut[N][0], 0, a, b, v);
  v = 0.2548219972002607e-2;
  N += SphGenOh(&pOut[N][0], 1, a, b, v);
  v = 0.2512317418927307e-2;
  N += SphGenOh(&pOut[N][0], 2, a, b, v);
  a = 0.6909346307509111e+0;
  v = 0.2530403801186355e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.1774836054609158e+0;
  v = 0.2014279020918528e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.4914342637784746e+0;
  v = 0.2501725168402936e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.6456664707424256e+0;
  v = 0.2513267174597564e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.2861289010307638e+0;
  v = 0.2302694782227416e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.7568084367178018e-1;
  v = 0.1462495621594614e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.3927259763368002e+0;
  v = 0.2445373437312980e-2;
  N += SphGenOh(&pOut[N][0], 3, a, b, v);
  a = 0.8818132877794288e+0;
  v = 0.2417442375638981e-2;
  N += SphGenOh(&pOut[N][0], 4, a, b, v);
  a = 0.9776428111182649e+0;
  v = 0.1910951282179532e-2;
  N += SphGenOh(&pOut[N][0], 4, a, b, v);
  a = 0.2054823696403044e+0;
  b = 0.8689460322872412e+0;
  v = 0.2416930044324775e-2;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5905157048925271e+0;
  b = 0.7999278543857286e+0;
  v = 0.2512236854563495e-2;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.5550152361076807e+0;
  b = 0.7717462626915901e+0;
  v = 0.2496644054553086e-2;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  a = 0.9371809858553722e+0;
  b = 0.3344363145343455e+0;
  v = 0.2236607760437849e-2;
  N += SphGenOh(&pOut[N][0], 5, a, b, v);
  return N;
}
```