user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<scarymonsters8>:
  endbr64
  sub    $0x8,%rsp
  mov    D18(%rip),%rax
  mov    $0x5,%edi
  movsd  D196(%rip),%xmm1
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D227(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  movsd  D585(%rip),%xmm2
  mov    $0x5,%edi
  mov    D196(%rip),%rax
  movapd %xmm2,%xmm0
  movq   %rax,%xmm1
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D227(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    $0x28,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D227(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D227(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  movsd  D45(%rip),%xmm4
  mov    $0x5,%edi
  mov    D196(%rip),%rax
  movapd %xmm4,%xmm0
  movq   %rax,%xmm1
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D227(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    $0x28,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D534(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D227(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D534(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D227(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    $0x28,%edi
  call   <delay@plt>
  movsd  D582(%rip),%xmm3
  mov    $0x5,%edi
  mov    D196(%rip),%rax
  movapd %xmm3,%xmm0
  movq   %rax,%xmm1
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D227(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D534(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D582(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    $0x28,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D18(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D585(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D227(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  movsd  D22(%rip),%xmm2
  mov    $0x5,%edi
  mov    D196(%rip),%rax
  movapd %xmm2,%xmm0
  movq   %rax,%xmm1
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    $0x28,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D227(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D22(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movsd  D236(%rip),%xmm0
  movq   %rax,%xmm1
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movsd  D267(%rip),%xmm0
  movq   %rax,%xmm1
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    $0x28,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D45(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movsd  D527(%rip),%xmm0
  movq   %rax,%xmm1
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D534(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D18(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    $0x28,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D582(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D22(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D534(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    D196(%rip),%rax
  mov    $0x5,%edi
  movq   %rax,%xmm1
  mov    D18(%rip),%rax
  movq   %rax,%xmm0
  call   <tone@plt>
  mov    $0xe6,%edi
  call   <delay@plt>
  mov    $0x28,%edi
  add    $0x8,%rsp
  jmp    1070 <delay@plt>
```

tool_calls: name: disassemble_data
arguments: label: D18
datatype: f64
name: disassemble_data
arguments: label: D196
datatype: f64
name: disassemble_data
arguments: label: D227
datatype: f64
name: disassemble_data
arguments: label: D585
datatype: f64
name: disassemble_data
arguments: label: D45
datatype: f64
name: disassemble_data
arguments: label: D534
datatype: f64
name: disassemble_data
arguments: label: D582
datatype: f64
name: disassemble_data
arguments: label: D22
datatype: f64
name: disassemble_data
arguments: label: D236
datatype: f64
name: disassemble_data
arguments: label: D267
datatype: f64
name: disassemble_data
arguments: label: D527
datatype: f64

tool: D18: 783.99

tool: D196: 230.769

tool: D227: 987.77

tool: D585: 880

tool: D45: 523.25

tool: D534: 1046.5

tool: D582: 1174.66

tool: D22: 698.46

tool: D236: 659.26

tool: D267: 587.33

tool: D527: 493.88

assistant: ```c
void scarymonsters8() {
  tone(5, 783.99, 230.769);
  delay(230.769);
  tone(5, 987.77, 230.769);
  delay(230.769);
  tone(5, 880.00, 230.769);
  delay(230.769);
  tone(5, 987.77, 230.769);
  delay(230.769);
  delay(40);
  tone(5, 987.77, 230.769);
  delay(230.769);
  tone(5, 987.77, 230.769);
  delay(230.769);
  tone(5, 523.25, 230.769);
  delay(230.769);
  tone(5, 987.77, 230.769);
  delay(230.769);
  delay(40);
  tone(5, 1046.50, 230.769);
  delay(230.769);
  tone(5, 987.77, 230.769);
  delay(230.769);
  tone(5, 1046.50, 230.769);
  delay(230.769);
  tone(5, 987.77, 230.769);
  delay(230.769);
  delay(40);
  tone(5, 1174.66, 230.769);
  delay(230.769);
  tone(5, 987.77, 230.769);
  delay(230.769);
  tone(5, 1046.50, 230.769);
  delay(230.769);
  tone(5, 1174.66, 230.769);
  delay(230.769);
  delay(40);
  tone(5, 783.99, 230.769);
  delay(230.769);
  tone(5, 880.00, 230.769);
  delay(230.769);
  tone(5, 987.77, 230.769);
  delay(230.769);
  tone(5, 698.46, 230.769);
  delay(230.769);
  delay(40);
  tone(5, 987.77, 230.769);
  delay(230.769);
  tone(5, 698.46, 230.769);
  delay(230.769);
  tone(5, 659.26, 230.769);
  delay(230.769);
  tone(5, 587.33, 230.769);
  delay(230.769);
  delay(40);
  tone(5, 523.25, 230.769);
  delay(230.769);
  tone(5, 493.88, 230.769);
  delay(230.769);
  tone(5, 1046.50, 230.769);
  delay(230.769);
  tone(5, 783.99, 230.769);
  delay(230.769);
  delay(40);
  tone(5, 1174.66, 230.769);
  delay(230.769);
  tone(5, 698.46, 230.769);
  delay(230.769);
  tone(5, 1046.50, 230.769);
  delay(230.769);
  tone(5, 783.99, 230.769);
  delay(230.769);
  delay(40);
}
```