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

```asm
<sum_residual_error>:
  endbr64
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0xf0,%rsp
  mov    %rdi,%rbp
  mov    %fs:0x28,%rax
  mov    %rax,0xe8(%rsp)
  xor    %eax,%eax
  mov    D228(%rip),%rax
  mov    %rax,0x10(%rsp)
  mov    D15(%rip),%rax
  mov    %rax,0x18(%rsp)
  mov    D222(%rip),%rax
  mov    %rax,0x20(%rsp)
  mov    D86(%rip),%rax
  mov    %rax,0x28(%rsp)
  mov    D215(%rip),%rax
  mov    %rax,0x30(%rsp)
  mov    D202(%rip),%rax
  mov    %rax,0x38(%rsp)
  mov    D66(%rip),%rax
  mov    %rax,0x40(%rsp)
  mov    D196(%rip),%rax
  mov    %rax,0x48(%rsp)
  mov    D248(%rip),%rax
  mov    %rax,0x50(%rsp)
  mov    D183(%rip),%rax
  mov    %rax,0x58(%rsp)
  mov    D143(%rip),%rax
  mov    %rax,0x60(%rsp)
  mov    D6(%rip),%rax
  mov    %rax,0x68(%rsp)
  mov    D133(%rip),%rax
  mov    %rax,0x70(%rsp)
  mov    D171(%rip),%rax
  mov    %rax,0x78(%rsp)
  mov    D31(%rip),%rax
  mov    %rax,0x80(%rsp)
  mov    D2(%rip),%rax
  mov    %rax,0x88(%rsp)
  mov    D115(%rip),%rax
  mov    %rax,0x90(%rsp)
  mov    D175(%rip),%rax
  mov    %rax,0x98(%rsp)
  mov    D25(%rip),%rax
  mov    %rax,0xa0(%rsp)
  mov    D250(%rip),%rax
  mov    %rax,0xa8(%rsp)
  mov    D118(%rip),%rax
  mov    %rax,0xb0(%rsp)
  mov    D188(%rip),%rax
  mov    %rax,0xb8(%rsp)
  mov    D100(%rip),%rax
  mov    %rax,0xc0(%rsp)
  mov    D116(%rip),%rax
  mov    %rax,0xc8(%rsp)
  mov    D247(%rip),%rax
  mov    %rax,0xd0(%rsp)
  mov    D110(%rip),%rax
  mov    %rax,0xd8(%rsp)
  mov    $0x0,%ebx
  pxor   %xmm2,%xmm2
  movsd  %xmm2,0x8(%rsp)
  lea    0x10(%rsp),%r12
L12:
  movsd  0x0(%rbp,%rbx,1),%xmm0
  subsd  (%rbx,%r12,1),%xmm0
  mov    $0x2,%edi
  call   <pow@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  movsd  %xmm0,0x8(%rsp)
  add    $0x8,%rbx
  cmp    $0xd0,%rbx
  jne    L12
  mov    0xe8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L14
  movsd  0x8(%rsp),%xmm0
  add    $0xf0,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  ret
L14:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: retrieve_data
arguments: data_tag: D228
datatype: f64
name: retrieve_data
arguments: data_tag: D15
datatype: f64
name: retrieve_data
arguments: data_tag: D222
datatype: f64
name: retrieve_data
arguments: data_tag: D86
datatype: f64
name: retrieve_data
arguments: data_tag: D215
datatype: f64
name: retrieve_data
arguments: data_tag: D202
datatype: f64
name: retrieve_data
arguments: data_tag: D66
datatype: f64
name: retrieve_data
arguments: data_tag: D196
datatype: f64
name: retrieve_data
arguments: data_tag: D248
datatype: f64
name: retrieve_data
arguments: data_tag: D183
datatype: f64
name: retrieve_data
arguments: data_tag: D143
datatype: f64
name: retrieve_data
arguments: data_tag: D6
datatype: f64
name: retrieve_data
arguments: data_tag: D133
datatype: f64
name: retrieve_data
arguments: data_tag: D171
datatype: f64
name: retrieve_data
arguments: data_tag: D31
datatype: f64
name: retrieve_data
arguments: data_tag: D2
datatype: f64
name: retrieve_data
arguments: data_tag: D115
datatype: f64
name: retrieve_data
arguments: data_tag: D175
datatype: f64
name: retrieve_data
arguments: data_tag: D25
datatype: f64
name: retrieve_data
arguments: data_tag: D250
datatype: f64
name: retrieve_data
arguments: data_tag: D118
datatype: f64
name: retrieve_data
arguments: data_tag: D188
datatype: f64
name: retrieve_data
arguments: data_tag: D100
datatype: f64
name: retrieve_data
arguments: data_tag: D116
datatype: f64
name: retrieve_data
arguments: data_tag: D247
datatype: f64
name: retrieve_data
arguments: data_tag: D110
datatype: f64

tool: D228: 8.167

tool: D15: 1.492

tool: D222: 2.782

tool: D86: 4.253

tool: D215: 12.702

tool: D202: 2.228

tool: D66: 2.015

tool: D196: 6.094

tool: D248: 6.996

tool: D183: 0.153

tool: D143: 0.772

tool: D6: 4.025

tool: D133: 2.406

tool: D171: 6.749

tool: D31: 7.507

tool: D2: 1.929

tool: D115: 0.095

tool: D175: 5.987

tool: D25: 6.327

tool: D250: 9.056

tool: D118: 2.758

tool: D188: 0.978

tool: D100: 2.36

tool: D116: 0.15

tool: D247: 1.974

tool: D110: 0.074

assistant: ```c
double sum_residual_error(double scaled_frequencies[26]) {
  register int i;
  double ErrorSum;
  double English_Frequencies[] = {8.167, 1.492, 2.782, 4.253, 12.702, 2.228, 2.015, 6.094, 6.996, 0.153, 0.772, 4.025, 2.406, 6.749, 7.507, 1.929, 0.095, 5.987, 6.327, 9.056, 2.758, 0.978, 2.360, 0.150, 1.974, 0.074};
  ErrorSum = 0;
  for (i = 0; i < 26; i++)
    ErrorSum += pow((scaled_frequencies[i] - English_Frequencies[i]), 2);
  return ErrorSum;
}
```