user: Demonstrate the C code that generates the assembly output below:

```asm
<set_ts_record>:
  endbr64
  pxor   %xmm0,%xmm0
  push   %rbp
  mov    %rsi,%rax
  push   %rbx
  movq   $0x0,0x30(%rsi)
  movups %xmm0,(%rsi)
  movups %xmm0,0x10(%rsi)
  movups %xmm0,0x20(%rsi)
  mov    (%rcx),%r9
  mov    (%rdx),%rdi
  cmp    %rdi,%r9
  jb     L128
  mov    %r9,%rsi
  sub    %rdi,%rsi
  js     L38
  pxor   %xmm0,%xmm0
  cvtsi2sd %rsi,%xmm0
L89:
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
L128:
  mov    0x8(%rcx),%r11
  mov    0x8(%rdx),%r10
  cmp    %r11,%r10
  ja     L77
  mov    %r11,%rsi
  sub    %r10,%rsi
  js     L53
  pxor   %xmm0,%xmm0
  cvtsi2sd %rsi,%xmm0
L1:
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,0x8(%rax)
L77:
  mov    0x10(%rcx),%rsi
  mov    0x10(%rdx),%rbx
  cmp    %rbx,%rsi
  jb     L74
  sub    %rbx,%rsi
  js     L131
  pxor   %xmm0,%xmm0
  cvtsi2sd %rsi,%xmm0
L23:
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,0x10(%rax)
L74:
  mov    0x18(%rcx),%rsi
  mov    0x18(%rdx),%rbx
  cmp    %rbx,%rsi
  jb     L17
  mov    %rsi,%rbp
  sub    %rbx,%rbp
  js     L95
  pxor   %xmm0,%xmm0
  cvtsi2sd %rbp,%xmm0
L201:
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,0x18(%rax)
L17:
  mov    0x20(%rcx),%rcx
  mov    0x20(%rdx),%rdx
  cmp    %rdx,%rcx
  jb     L26
  mov    %rcx,%rbx
  sub    %rdx,%rbx
  js     L133
  pxor   %xmm0,%xmm0
  cvtsi2sd %rbx,%xmm0
L102:
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,0x20(%rax)
  cmp    %rdi,%r9
  jb     L142
  cmp    %r11,%r10
  jae    L217
L150:
  movsd  (%rax),%xmm0
  divsd  0x8(%rax),%xmm0
  movsd  %xmm0,0x30(%rax)
L217:
  cmp    %rdx,%rcx
  jb     L190
L142:
  cmp    %rsi,%r10
  jae    L190
  movsd  0x20(%rax),%xmm0
  divsd  0x18(%rax),%xmm0
  divsd  D5(%rip),%xmm0
  movsd  %xmm0,0x28(%rax)
L190:
  pop    %rbx
  pop    %rbp
  ret
  nopw   0x0(%rax,%rax,1)
L26:
  cmp    %rdi,%r9
  jb     L190
  cmp    %r11,%r10
  jae    L217
  jmp    L150
  nopl   0x0(%rax)
L38:
  mov    %rsi,%r10
  and    $0x1,%esi
  pxor   %xmm0,%xmm0
  shr    %r10
  or     %rsi,%r10
  cvtsi2sd %r10,%xmm0
  addsd  %xmm0,%xmm0
  jmp    L89
  xchg   %ax,%ax
L131:
  mov    %rsi,%rbx
  and    $0x1,%esi
  pxor   %xmm0,%xmm0
  shr    %rbx
  or     %rsi,%rbx
  cvtsi2sd %rbx,%xmm0
  addsd  %xmm0,%xmm0
  jmp    L23
  xchg   %ax,%ax
L53:
  mov    %rsi,%rbx
  and    $0x1,%esi
  pxor   %xmm0,%xmm0
  shr    %rbx
  or     %rsi,%rbx
  cvtsi2sd %rbx,%xmm0
  addsd  %xmm0,%xmm0
  jmp    L1
  xchg   %ax,%ax
L133:
  mov    %rbx,%rbp
  and    $0x1,%ebx
  pxor   %xmm0,%xmm0
  shr    %rbp
  or     %rbx,%rbp
  cvtsi2sd %rbp,%xmm0
  addsd  %xmm0,%xmm0
  jmp    L102
  xchg   %ax,%ax
L95:
  mov    %rbp,%rbx
  and    $0x1,%ebp
  pxor   %xmm0,%xmm0
  shr    %rbx
  or     %rbp,%rbx
  cvtsi2sd %rbx,%xmm0
  addsd  %xmm0,%xmm0
  jmp    L201
```

tool_calls: name: read_data
arguments: label: D5
datatype: f64

tool: D5: 1000000

assistant: ```c
void set_ts_record(struct module *mod, double st_array[], unsigned long long pre_array[], unsigned long long cur_array[], int inter) {
  int i;
  for (i = 0; i < 7; ++i) {
    st_array[i] = 0;
  }
  for (i = 0; i < 5; ++i) {
    if (cur_array[i] >= pre_array[i]) {
      st_array[i] = (cur_array[i] - pre_array[i]) * 1.0 / inter;
    }
  }
  if (cur_array[0] >= pre_array[0] && cur_array[1] > pre_array[1]) {
    st_array[6] = st_array[0] / st_array[1];
  }
  if (cur_array[4] >= pre_array[4] && cur_array[3] > pre_array[1]) {
    st_array[5] = (st_array[4] / st_array[3]) / 1000000.0;
  }
}
```