user: 请将以下的汇编代码转换成C语言代码：

```asm
<KValues>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x30,%rsp
  mov    %rdi,-0x8(%rbp)
  mov    %rsi,-0x10(%rbp)
  mov    %rdx,-0x18(%rbp)
  mov    %rcx,-0x20(%rbp)
  movsd  %xmm0,-0x28(%rbp)
  movsd  -0x28(%rbp),%xmm1
  movsd  D150(%rip),%xmm0
  movapd %xmm1,%xmm2
  mulsd  %xmm0,%xmm2
  movsd  D86(%rip),%xmm0
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  D139(%rip),%xmm0
  divsd  -0x28(%rbp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  %xmm1,-0x30(%rbp)
  mov    -0x28(%rbp),%rax
  movq   %rax,%xmm0
  call   <log10@plt>
  movsd  D154(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  -0x30(%rbp),%xmm1
  addsd  %xmm0,%xmm1
  movsd  -0x28(%rbp),%xmm0
  movapd %xmm0,%xmm2
  mulsd  %xmm0,%xmm2
  movsd  D127(%rip),%xmm0
  divsd  %xmm2,%xmm0
  subsd  %xmm0,%xmm1
  cvttsd2si %xmm1,%eax
  mov    %eax,%esi
  mov    $0xa,%edi
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    -0x8(%rbp),%rdx
  mov    %rax,(%rdx)
  movsd  -0x28(%rbp),%xmm1
  movsd  D15(%rip),%xmm0
  movapd %xmm1,%xmm2
  mulsd  %xmm0,%xmm2
  movsd  D33(%rip),%xmm0
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  D36(%rip),%xmm0
  divsd  -0x28(%rbp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  %xmm1,-0x30(%rbp)
  mov    -0x28(%rbp),%rax
  movq   %rax,%xmm0
  call   <log10@plt>
  movsd  D167(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  -0x30(%rbp),%xmm1
  addsd  %xmm0,%xmm1
  movsd  -0x28(%rbp),%xmm0
  movapd %xmm0,%xmm2
  mulsd  %xmm0,%xmm2
  movsd  D93(%rip),%xmm0
  divsd  %xmm2,%xmm0
  subsd  %xmm0,%xmm1
  cvttsd2si %xmm1,%eax
  mov    %eax,%esi
  mov    $0xa,%edi
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    -0x10(%rbp),%rdx
  mov    %rax,(%rdx)
  movsd  D48(%rip),%xmm0
  movapd %xmm0,%xmm1
  divsd  -0x28(%rbp),%xmm1
  movsd  D61(%rip),%xmm0
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  mov    -0x28(%rbp),%rax
  movq   %rax,%xmm0
  call   <log10@plt>
  movsd  D107(%rip),%xmm1
  mulsd  %xmm0,%xmm1
  movsd  -0x30(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movsd  -0x28(%rbp),%xmm2
  movsd  D7(%rip),%xmm1
  mulsd  %xmm1,%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  D38(%rip),%xmm0
  addsd  %xmm1,%xmm0
  cvttsd2si %xmm0,%eax
  mov    %eax,%esi
  mov    $0xa,%edi
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    -0x18(%rbp),%rdx
  mov    %rax,(%rdx)
  movsd  -0x28(%rbp),%xmm1
  movsd  D77(%rip),%xmm0
  mulsd  %xmm0,%xmm1
  movsd  D2(%rip),%xmm0
  subsd  %xmm1,%xmm0
  movsd  D32(%rip),%xmm1
  divsd  -0x28(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  cvttsd2si %xmm0,%eax
  mov    %eax,%esi
  mov    $0xa,%edi
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    -0x20(%rbp),%rdx
  mov    %rax,(%rdx)
  nop
  leave
  ret
```

tool_calls: name: parse_data
arguments: label: D150
datatype: f64
name: parse_data
arguments: label: D86
datatype: byte[8]
name: parse_data
arguments: label: D139
datatype: f64
name: parse_data
arguments: label: D154
datatype: f64
name: parse_data
arguments: label: D127
datatype: byte[8]
name: parse_data
arguments: label: D15
datatype: f64
name: parse_data
arguments: label: D33
datatype: byte[8]
name: parse_data
arguments: label: D36
datatype: f64
name: parse_data
arguments: label: D167
datatype: f64
name: parse_data
arguments: label: D93
datatype: f64
name: parse_data
arguments: label: D48
datatype: f64
name: parse_data
arguments: label: D61
datatype: byte[8]
name: parse_data
arguments: label: D107
datatype: f64
name: parse_data
arguments: label: D7
datatype: f64
name: parse_data
arguments: label: D38
datatype: f64
name: parse_data
arguments: label: D77
datatype: f64
name: parse_data
arguments: label: D2
datatype: byte[8]
name: parse_data
arguments: label: D32
datatype: f64

tool: D150: 0.06091964

tool: {"D86": [0x1e,0x16,0x6a,0x4d,0xf3,0x14,0x76,0xc0]}

tool: D139: 21834.37

tool: D154: 126.8339

tool: {"D127": [0x00,0x00,0x00,0x00,0xb3,0xb5,0x39,0x41]}

tool: D15: 0.03252849

tool: {"D33": [0x06,0x12,0x14,0x3f,0xc6,0x38,0x5a,0xc0]}

tool: D36: 5151.79

tool: D167: 38.92561

tool: D93: 563713.9

tool: D48: 4787.3

tool: {"D61": [0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x40]}

tool: D107: 7.1321

tool: D7: 0.010365

tool: D38: 22.801

tool: D77: 0.032449

tool: {"D2": [0xfd,0x87,0xf4,0xdb,0xd7,0x81,0x2e,0x40]}

tool: D32: 2386.038

assistant: ```c
void KValues(double *K1, double *K2, double *KW, double *Ks, double TempK) {
  *K1 = pow(10, (3 - 356.3094 - 0.06091964 * TempK + 21834.37 / TempK + 126.8339 * log10(TempK) - 1684915 / (TempK * TempK)));
  *K2 = pow(10, (3 - 107.8871 - 0.03252849 * TempK + 5151.79 / TempK + 38.92561 * log10(TempK) - 563713.9 / (TempK * TempK)));
  *KW = pow(10, (6 - 4787.3 / TempK - 7.1321 * log10(TempK) - 0.010365 * TempK + 22.801));
  *Ks = pow(10, (6 + 9.2536 - 0.032449 * TempK - 2386.038 / TempK));
}
```