user: What is the c source code of the assembly code below:

```asm
<sum_residual_error>:
  endbr64
  push   %rbp
  pxor   %xmm3,%xmm3
  mov    %rdi,%rbp
  push   %rbx
  xor    %ebx,%ebx
  sub    $0xf8,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0xe8(%rsp)
  xor    %eax,%eax
  mov    D82(%rip),%rax
  mov    %rax,0x18(%rsp)
  mov    D36(%rip),%rax
  mov    %rax,0x20(%rsp)
  mov    D196(%rip),%rax
  mov    %rax,0x28(%rsp)
  mov    D12(%rip),%rax
  mov    %rax,0x30(%rsp)
  mov    D61(%rip),%rax
  mov    %rax,0x38(%rsp)
  mov    D223(%rip),%rax
  mov    %rax,0x40(%rsp)
  mov    D130(%rip),%rax
  mov    %rax,0x48(%rsp)
  mov    D113(%rip),%rax
  mov    %rax,0x50(%rsp)
  mov    D195(%rip),%rax
  mov    %rax,0x58(%rsp)
  mov    D204(%rip),%rax
  mov    %rax,0x60(%rsp)
  mov    D112(%rip),%rax
  mov    %rax,0x68(%rsp)
  mov    D69(%rip),%rax
  mov    %rax,0x70(%rsp)
  mov    D231(%rip),%rax
  mov    %rax,0x78(%rsp)
  mov    D35(%rip),%rax
  mov    %rax,0x80(%rsp)
  mov    D172(%rip),%rax
  movsd  D43(%rip),%xmm1
  movsd  %xmm3,0x8(%rsp)
  mov    %rax,0x88(%rsp)
  mov    D234(%rip),%rax
  mov    %rax,0x90(%rsp)
  mov    D142(%rip),%rax
  mov    %rax,0x98(%rsp)
  mov    D109(%rip),%rax
  mov    %rax,0xa0(%rsp)
  mov    D24(%rip),%rax
  mov    %rax,0xa8(%rsp)
  mov    D23(%rip),%rax
  mov    %rax,0xb0(%rsp)
  mov    D247(%rip),%rax
  mov    %rax,0xb8(%rsp)
  mov    D100(%rip),%rax
  mov    %rax,0xc0(%rsp)
  mov    D131(%rip),%rax
  mov    %rax,0xc8(%rsp)
  mov    D70(%rip),%rax
  mov    %rax,0xd0(%rsp)
  mov    D2(%rip),%rax
  mov    %rax,0xd8(%rsp)
  jmp    L22
  nopl   0x0(%rax)
L10:
  movsd  0x10(%rsp,%rbx,1),%xmm1
L22:
  movsd  0x0(%rbp,%rbx,1),%xmm0
  mov    $0x2,%edi
  add    $0x8,%rbx
  subsd  %xmm1,%xmm0
  call   <pow@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %rax,%xmm0
  addsd  0x8(%rsp),%xmm0
  movsd  %xmm0,0x8(%rsp)
  cmp    $0xd0,%rbx
  jne    L10
  mov    0xe8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L25
  movsd  0x8(%rsp),%xmm0
  add    $0xf8,%rsp
  pop    %rbx
  pop    %rbp
  ret
L25:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: tag: D82
type: f64
name: extract_symbolic_data
arguments: tag: D36
type: f64
name: extract_symbolic_data
arguments: tag: D196
type: f64
name: extract_symbolic_data
arguments: tag: D12
type: f64
name: extract_symbolic_data
arguments: tag: D61
type: f64
name: extract_symbolic_data
arguments: tag: D223
type: f64
name: extract_symbolic_data
arguments: tag: D130
type: f64
name: extract_symbolic_data
arguments: tag: D113
type: f64
name: extract_symbolic_data
arguments: tag: D195
type: f64
name: extract_symbolic_data
arguments: tag: D204
type: f64
name: extract_symbolic_data
arguments: tag: D112
type: f64
name: extract_symbolic_data
arguments: tag: D69
type: f64
name: extract_symbolic_data
arguments: tag: D231
type: f64
name: extract_symbolic_data
arguments: tag: D35
type: f64
name: extract_symbolic_data
arguments: tag: D172
type: f64
name: extract_symbolic_data
arguments: tag: D43
type: f64
name: extract_symbolic_data
arguments: tag: D234
type: f64
name: extract_symbolic_data
arguments: tag: D142
type: f64
name: extract_symbolic_data
arguments: tag: D109
type: f64
name: extract_symbolic_data
arguments: tag: D24
type: f64
name: extract_symbolic_data
arguments: tag: D23
type: f64
name: extract_symbolic_data
arguments: tag: D247
type: f64
name: extract_symbolic_data
arguments: tag: D100
type: f64
name: extract_symbolic_data
arguments: tag: D131
type: f64
name: extract_symbolic_data
arguments: tag: D70
type: f64
name: extract_symbolic_data
arguments: tag: D2
type: f64

tool: D82: 1.492

tool: D36: 2.782

tool: D196: 4.253

tool: D12: 12.702

tool: D61: 2.228

tool: D223: 2.015

tool: D130: 6.094

tool: D113: 6.996

tool: D195: 0.153

tool: D204: 0.772

tool: D112: 4.025

tool: D69: 2.406

tool: D231: 6.749

tool: D35: 7.507

tool: D172: 1.929

tool: D43: 8.167

tool: D234: 0.095

tool: D142: 5.987

tool: D109: 6.327

tool: D24: 9.056

tool: D23: 2.758

tool: D247: 0.978

tool: D100: 2.36

tool: D131: 0.15

tool: D70: 1.974

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