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

```asm
<KValues>:
  endbr64
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x18,%rsp
  mov    %rdi,%r13
  mov    %rsi,%r12
  mov    %rdx,%rbp
  mov    %rcx,%rbx
  movsd  %xmm0,(%rsp)
  call   <log10@plt>
  movsd  (%rsp),%xmm4
  movapd %xmm4,%xmm3
  mulsd  %xmm4,%xmm3
  movapd %xmm4,%xmm2
  mulsd  D158(%rip),%xmm2
  movsd  D68(%rip),%xmm1
  subsd  %xmm2,%xmm1
  movsd  D86(%rip),%xmm2
  divsd  %xmm4,%xmm2
  addsd  %xmm2,%xmm1
  mulsd  D44(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D168(%rip),%xmm0
  movsd  %xmm3,0x8(%rsp)
  divsd  %xmm3,%xmm0
  subsd  %xmm0,%xmm1
  cvttsd2si %xmm1,%esi
  mov    $0xa,%edi
  call   <pow@plt>
  movsd  %xmm0,0x0(%r13)
  movsd  (%rsp),%xmm0
  call   <log10@plt>
  movsd  (%rsp),%xmm4
  movapd %xmm4,%xmm2
  mulsd  D122(%rip),%xmm2
  movsd  D95(%rip),%xmm1
  subsd  %xmm2,%xmm1
  movsd  D119(%rip),%xmm2
  divsd  %xmm4,%xmm2
  addsd  %xmm2,%xmm1
  mulsd  D113(%rip),%xmm0
  addsd  %xmm0,%xmm1
  movsd  D153(%rip),%xmm0
  divsd  0x8(%rsp),%xmm0
  subsd  %xmm0,%xmm1
  cvttsd2si %xmm1,%esi
  mov    $0xa,%edi
  call   <pow@plt>
  movsd  %xmm0,(%r12)
  movsd  (%rsp),%xmm0
  call   <log10@plt>
  movsd  D27(%rip),%xmm2
  movsd  (%rsp),%xmm4
  divsd  %xmm4,%xmm2
  movsd  D78(%rip),%xmm1
  subsd  %xmm2,%xmm1
  mulsd  D40(%rip),%xmm0
  subsd  %xmm0,%xmm1
  movapd %xmm4,%xmm0
  mulsd  D25(%rip),%xmm0
  subsd  %xmm0,%xmm1
  addsd  D21(%rip),%xmm1
  cvttsd2si %xmm1,%esi
  mov    $0xa,%edi
  call   <pow@plt>
  movsd  %xmm0,0x0(%rbp)
  movsd  (%rsp),%xmm4
  movapd %xmm4,%xmm1
  mulsd  D176(%rip),%xmm1
  movsd  D103(%rip),%xmm0
  subsd  %xmm1,%xmm0
  movsd  D15(%rip),%xmm1
  divsd  %xmm4,%xmm1
  subsd  %xmm1,%xmm0
  cvttsd2si %xmm0,%esi
  mov    $0xa,%edi
  call   <pow@plt>
  movsd  %xmm0,(%rbx)
  add    $0x18,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
```

tool_calls: name: retrieve_data
arguments: label: D158
type_infered: f64
name: retrieve_data
arguments: label: D68
type_infered: byte[8]
name: retrieve_data
arguments: label: D86
type_infered: f64
name: retrieve_data
arguments: label: D44
type_infered: f64
name: retrieve_data
arguments: label: D168
type_infered: byte[8]
name: retrieve_data
arguments: label: D122
type_infered: f64
name: retrieve_data
arguments: label: D95
type_infered: byte[8]
name: retrieve_data
arguments: label: D119
type_infered: f64
name: retrieve_data
arguments: label: D113
type_infered: f64
name: retrieve_data
arguments: label: D153
type_infered: f64
name: retrieve_data
arguments: label: D27
type_infered: f64
name: retrieve_data
arguments: label: D78
type_infered: byte[8]
name: retrieve_data
arguments: label: D40
type_infered: f64
name: retrieve_data
arguments: label: D25
type_infered: f64
name: retrieve_data
arguments: label: D21
type_infered: f64
name: retrieve_data
arguments: label: D176
type_infered: f64
name: retrieve_data
arguments: label: D103
type_infered: byte[8]
name: retrieve_data
arguments: label: D15
type_infered: f64

tool: D158: 0.06091964

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

tool: D86: 21834.37

tool: D44: 126.8339

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

tool: D122: 0.03252849

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

tool: D119: 5151.79

tool: D113: 38.92561

tool: D153: 563713.9

tool: D27: 4787.3

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

tool: D40: 7.1321

tool: D25: 0.010365

tool: D21: 22.801

tool: D176: 0.032449

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

tool: D15: 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));
}
```