user: Please show me the C implementation that matches the assembly code listed below:

```asm
<gen_path_pixels>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  push   %r13
  push   %r12
  push   %rbx
  sub    $0x18,%rsp
  mov    $0x131f328,%edi
  call   <srandom@plt>
  mov    $0xc00,%esi
  lea    D207(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x3000,%esi
  lea    D140(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  movl   $0x0,-0x24(%rbp)
  jmp    L15
L25:
  mov    $0x0,%eax
  call   <rand_double@plt>
  movq   %xmm0,%r13
  mov    $0x0,%eax
  call   <rand_double@plt>
  movq   %xmm0,%r12
  mov    $0x0,%eax
  call   <rand_double@plt>
  movq   %xmm0,%rbx
  mov    $0x0,%eax
  call   <rand_double@plt>
  movq   %xmm0,%rax
  movq   %r13,%xmm3
  movq   %r12,%xmm2
  movq   %rbx,%xmm1
  movq   %rax,%xmm0
  lea    D132(%rip),%rax
  mov    %rax,%rdi
  mov    $0x4,%eax
  call   <printf@plt>
  addl   $0x1,-0x24(%rbp)
L15:
  cmpl   $0xff,-0x24(%rbp)
  jle    L25
  movl   $0x0,-0x24(%rbp)
  jmp    L48
L57:
  mov    D10(%rip),%rax
  pxor   %xmm1,%xmm1
  movq   %rax,%xmm0
  call   <rand_range_double@plt>
  movq   %xmm0,%r13
  mov    D10(%rip),%rax
  pxor   %xmm1,%xmm1
  movq   %rax,%xmm0
  call   <rand_range_double@plt>
  movq   %xmm0,%r12
  mov    D10(%rip),%rax
  pxor   %xmm1,%xmm1
  movq   %rax,%xmm0
  call   <rand_range_double@plt>
  movq   %xmm0,%rbx
  mov    D10(%rip),%rax
  pxor   %xmm1,%xmm1
  movq   %rax,%xmm0
  call   <rand_range_double@plt>
  movq   %xmm0,%rax
  movq   %r13,%xmm3
  movq   %r12,%xmm2
  movq   %rbx,%xmm1
  movq   %rax,%xmm0
  lea    D132(%rip),%rax
  mov    %rax,%rdi
  mov    $0x4,%eax
  call   <printf@plt>
  addl   $0x1,-0x24(%rbp)
L48:
  cmpl   $0xf,-0x24(%rbp)
  jle    L57
  movl   $0x0,-0x24(%rbp)
  jmp    L8
L23:
  movsd  D16(%rip),%xmm0
  mov    D5(%rip),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <rand_range_double@plt>
  movq   %xmm0,%r13
  movsd  D16(%rip),%xmm0
  mov    D5(%rip),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <rand_range_double@plt>
  movq   %xmm0,%r12
  movsd  D16(%rip),%xmm0
  mov    D5(%rip),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <rand_range_double@plt>
  movq   %xmm0,%rbx
  movsd  D16(%rip),%xmm0
  mov    D5(%rip),%rax
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <rand_range_double@plt>
  movq   %xmm0,%rax
  movq   %r13,%xmm3
  movq   %r12,%xmm2
  movq   %rbx,%xmm1
  movq   %rax,%xmm0
  lea    D132(%rip),%rax
  mov    %rax,%rdi
  mov    $0x4,%eax
  call   <printf@plt>
  addl   $0x1,-0x24(%rbp)
L8:
  cmpl   $0xf,-0x24(%rbp)
  jle    L23
  mov    D137(%rip),%rax
  movq   %rax,%xmm0
  lea    D230(%rip),%rax
  mov    %rax,%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  lea    D35(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    $0x80,%esi
  lea    D71(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D88(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  mov    $0x100,%esi
  lea    D11(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D74(%rip),%rax
  mov    %rax,%rdi
  call   <puts@plt>
  nop
  add    $0x18,%rsp
  pop    %rbx
  pop    %r12
  pop    %r13
  pop    %rbp
  ret
```

tool_calls: name: disassemble_data
arguments: data_label: D207
type: string
name: disassemble_data
arguments: data_label: D140
type: string
name: disassemble_data
arguments: data_label: D132
type: string
name: disassemble_data
arguments: data_label: D10
type: f32[2]
name: disassemble_data
arguments: data_label: D16
type: f64
name: disassemble_data
arguments: data_label: D5
type: f64
name: disassemble_data
arguments: data_label: D137
type: f32[2]
name: disassemble_data
arguments: data_label: D230
type: string
name: disassemble_data
arguments: data_label: D35
type: string
name: disassemble_data
arguments: data_label: D71
type: string
name: disassemble_data
arguments: data_label: D88
type: string
name: disassemble_data
arguments: data_label: D11
type: string
name: disassemble_data
arguments: data_label: D74
type: string

tool: D207: static const int babl_num_path_test_pixels = %d;



tool: D140: static const double babl_path_test_pixels[%d] = {


tool: D132: %a, %a, %a, %a,


tool: {"D10": [0.0,-1.875]}

tool: D16: 2

tool: D5: 1

tool: {"D137": [0.0,0.0]}

tool: D230: %a, /* The remaining values default to zero. */ 

tool: D35: };


tool: D71: static const int babl_num_conversion_test_pixels = %d;



tool: D88: static const double *babl_conversion_test_pixels = babl_path_test_pixels;


tool: D11: static const int babl_num_format_test_pixels = %d;



tool: D74: static const double *babl_format_test_pixels = babl_path_test_pixels;


assistant: ```c
void gen_path_pixels(void) {
  int i;
  srandom(20050728);
  printf("static const int babl_num_path_test_pixels = %d;\n\n", 3072);
  printf("static const double babl_path_test_pixels[%d] = {\n", 3072 * 4);
  for (i = 0; i < 256; i++) {
    printf("%a, %a, %a, %a,\n", rand_double(), rand_double(), rand_double(), rand_double());
  }
  for (i = 0; i < 16; i++) {
    printf("%a, %a, %a, %a,\n", rand_range_double(-1.0, 0.0), rand_range_double(-1.0, 0.0), rand_range_double(-1.0, 0.0), rand_range_double(-1.0, 0.0));
  }
  for (i = 0; i < 16; i++) {
    printf("%a, %a, %a, %a,\n", rand_range_double(1.0, 2.0), rand_range_double(1.0, 2.0), rand_range_double(1.0, 2.0), rand_range_double(1.0, 2.0));
  }
  printf("%a, /* The remaining values default to zero. */ ", 0.0);
  printf("};\n\n");
  printf("static const int babl_num_conversion_test_pixels = %d;\n\n", 128);
  printf("static const double *babl_conversion_test_pixels = babl_path_test_pixels;\n\n");
  printf("static const int babl_num_format_test_pixels = %d;\n\n", 256);
  printf("static const double *babl_format_test_pixels = babl_path_test_pixels;\n\n");
}
```