user: What would the C source look like for the assembly code provided here:

```asm
<contr_hrr>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x68,%rsp
  mov    %edi,0x4(%rsp)
  movsd  %xmm0,0x8(%rsp)
  movsd  %xmm1,0x10(%rsp)
  movsd  %xmm2,0x18(%rsp)
  mov    %rsi,%rbp
  mov    %edx,%r12d
  mov    %ecx,%r13d
  mov    %r8d,%r14d
  mov    %r9,0x20(%rsp)
  movsd  %xmm3,0x28(%rsp)
  movsd  %xmm4,0x30(%rsp)
  movsd  %xmm5,0x38(%rsp)
  mov    0xb8(%rsp),%ebx
  movsd  %xmm6,0x40(%rsp)
  movsd  %xmm7,0x48(%rsp)
  test   %ebx,%ebx
  jg     L14
  cmpl   $0x0,0xc0(%rsp)
  jg     L112
  cmpl   $0x0,0xc8(%rsp)
  jg     L80
  cmpl   $0x0,0x148(%rsp)
  jg     L90
  cmpl   $0x0,0x150(%rsp)
  jg     L8
  cmpl   $0x0,0x158(%rsp)
  jg     L38
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x150(%rsp)
  push   0x150(%rsp)
  push   0x150(%rsp)
  push   0x150(%rsp)
  mov    0x150(%rsp),%eax
  push   %rax
  push   0x150(%rsp)
  push   0x150(%rsp)
  mov    0x150(%rsp),%eax
  push   %rax
  mov    0x150(%rsp),%eax
  push   %rax
  mov    0x150(%rsp),%eax
  push   %rax
  push   0x150(%rsp)
  push   0x150(%rsp)
  mov    0x150(%rsp),%eax
  push   %rax
  push   0x150(%rsp)
  push   0x150(%rsp)
  push   0x138(%rsp)
  mov    0x138(%rsp),%eax
  push   %rax
  push   0x138(%rsp)
  movsd  0xe8(%rsp),%xmm7
  movsd  0xe0(%rsp),%xmm6
  movsd  0xd8(%rsp),%xmm5
  movsd  0xd0(%rsp),%xmm4
  movsd  0xc8(%rsp),%xmm3
  mov    0xc0(%rsp),%r9
  movsd  0xb8(%rsp),%xmm2
  movsd  0xb0(%rsp),%xmm1
  movsd  0xa8(%rsp),%xmm0
  mov    0xa4(%rsp),%edi
  call   <contr_vrr@plt>
  add    $0xa0,%rsp
  jmp    L70
L14:
  sub    $0x1,%ebx
  lea    0x1(%rdx),%edx
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   %rbx
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  movsd  0x118(%rsp),%xmm7
  movsd  0x110(%rsp),%xmm6
  movsd  0x108(%rsp),%xmm5
  movsd  0x100(%rsp),%xmm4
  movsd  0xf8(%rsp),%xmm3
  mov    0xf0(%rsp),%r9
  movsd  0xe8(%rsp),%xmm2
  movsd  0xe0(%rsp),%xmm1
  movsd  0xd8(%rsp),%xmm0
  mov    0xd4(%rsp),%edi
  call   <contr_hrr>
  movq   %xmm0,%r15
  movsd  0xd8(%rsp),%xmm0
  movapd %xmm0,%xmm1
  movsd  0xf8(%rsp),%xmm3
  subsd  %xmm3,%xmm1
  movsd  %xmm1,0xd8(%rsp)
  add    $0xd0,%rsp
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   %rbx
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  movsd  0x118(%rsp),%xmm7
  movsd  0x110(%rsp),%xmm6
  movsd  0x108(%rsp),%xmm5
  movsd  0x100(%rsp),%xmm4
  mov    0xf0(%rsp),%r9
  mov    %r14d,%r8d
  mov    %r13d,%ecx
  mov    %r12d,%edx
  mov    %rbp,%rsi
  movsd  0xe8(%rsp),%xmm2
  movsd  0xe0(%rsp),%xmm1
  mov    0xd4(%rsp),%edi
  call   <contr_hrr>
  mulsd  0xd8(%rsp),%xmm0
  movq   %r15,%xmm5
  addsd  %xmm5,%xmm0
  add    $0xd0,%rsp
L70:
  add    $0x68,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L112:
  mov    0xc0(%rsp),%eax
  lea    -0x1(%rax),%r15d
  lea    0x1(%rcx),%ecx
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   %r15
  push   %rbx
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  movsd  0x118(%rsp),%xmm7
  movsd  0x110(%rsp),%xmm6
  movsd  0x108(%rsp),%xmm5
  movsd  0x100(%rsp),%xmm4
  movsd  0xf8(%rsp),%xmm3
  mov    0xf0(%rsp),%r9
  movsd  0xe8(%rsp),%xmm2
  movsd  0xe0(%rsp),%xmm1
  movsd  0xd8(%rsp),%xmm0
  mov    0xd4(%rsp),%edi
  call   <contr_hrr>
  movsd  %xmm0,0x120(%rsp)
  movsd  0xe0(%rsp),%xmm1
  movapd %xmm1,%xmm2
  movsd  0x100(%rsp),%xmm4
  subsd  %xmm4,%xmm2
  movsd  %xmm2,0xe0(%rsp)
  add    $0xd0,%rsp
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   %r15
  push   %rbx
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  movsd  0x118(%rsp),%xmm7
  movsd  0x110(%rsp),%xmm6
  movsd  0x108(%rsp),%xmm5
  movsd  0xf8(%rsp),%xmm3
  mov    0xf0(%rsp),%r9
  mov    %r14d,%r8d
  mov    %r13d,%ecx
  mov    %r12d,%edx
  mov    %rbp,%rsi
  movsd  0xe8(%rsp),%xmm2
  movsd  0xd8(%rsp),%xmm0
  mov    0xd4(%rsp),%edi
  call   <contr_hrr>
  mulsd  0xe0(%rsp),%xmm0
  addsd  0x120(%rsp),%xmm0
  add    $0xd0,%rsp
  jmp    L70
L80:
  mov    0xc8(%rsp),%eax
  lea    -0x1(%rax),%r15d
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   %r15
  mov    0x168(%rsp),%eax
  push   %rax
  push   %rbx
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  movsd  0x118(%rsp),%xmm7
  movsd  0x110(%rsp),%xmm6
  movsd  0x108(%rsp),%xmm5
  movsd  0x100(%rsp),%xmm4
  movsd  0xf8(%rsp),%xmm3
  mov    0xf0(%rsp),%r9
  lea    0x1(%r8),%r8d
  movsd  0xe8(%rsp),%xmm2
  movsd  0xe0(%rsp),%xmm1
  movsd  0xd8(%rsp),%xmm0
  mov    0xd4(%rsp),%edi
  call   <contr_hrr>
  movsd  %xmm0,0x120(%rsp)
  movsd  0xe8(%rsp),%xmm2
  movapd %xmm2,%xmm6
  movsd  0x108(%rsp),%xmm5
  subsd  %xmm5,%xmm6
  movsd  %xmm6,0xe8(%rsp)
  add    $0xd0,%rsp
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   %r15
  mov    0x168(%rsp),%eax
  push   %rax
  push   %rbx
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  movsd  0x118(%rsp),%xmm7
  movsd  0x110(%rsp),%xmm6
  movsd  0x100(%rsp),%xmm4
  movsd  0xf8(%rsp),%xmm3
  mov    0xf0(%rsp),%r9
  mov    %r14d,%r8d
  mov    %r13d,%ecx
  mov    %r12d,%edx
  mov    %rbp,%rsi
  movsd  0xe0(%rsp),%xmm1
  movsd  0xd8(%rsp),%xmm0
  mov    0xd4(%rsp),%edi
  call   <contr_hrr>
  mulsd  0xe8(%rsp),%xmm0
  addsd  0x120(%rsp),%xmm0
  add    $0xd0,%rsp
  jmp    L70
L90:
  mov    0x148(%rsp),%eax
  lea    -0x1(%rax),%r15d
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   %r15
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  add    $0x1,%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   %rbx
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  movsd  0x118(%rsp),%xmm7
  movsd  0x110(%rsp),%xmm6
  movsd  0x108(%rsp),%xmm5
  movsd  0x100(%rsp),%xmm4
  movsd  0xf8(%rsp),%xmm3
  mov    0xf0(%rsp),%r9
  movsd  0xe8(%rsp),%xmm2
  movsd  0xe0(%rsp),%xmm1
  movsd  0xd8(%rsp),%xmm0
  mov    0xd4(%rsp),%edi
  call   <contr_hrr>
  movsd  %xmm0,0x120(%rsp)
  movsd  0x110(%rsp),%xmm6
  movapd %xmm6,%xmm7
  subsd  0x1f8(%rsp),%xmm7
  movsd  %xmm7,0x110(%rsp)
  add    $0xd0,%rsp
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   %r15
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   %rbx
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  movsd  0x118(%rsp),%xmm7
  movsd  0x108(%rsp),%xmm5
  movsd  0x100(%rsp),%xmm4
  movsd  0xf8(%rsp),%xmm3
  mov    0xf0(%rsp),%r9
  mov    %r14d,%r8d
  mov    %r13d,%ecx
  mov    %r12d,%edx
  mov    %rbp,%rsi
  movsd  0xe8(%rsp),%xmm2
  movsd  0xe0(%rsp),%xmm1
  movsd  0xd8(%rsp),%xmm0
  mov    0xd4(%rsp),%edi
  call   <contr_hrr>
  mulsd  0x110(%rsp),%xmm0
  addsd  0x120(%rsp),%xmm0
  add    $0xd0,%rsp
  jmp    L70
L8:
  mov    0x150(%rsp),%eax
  lea    -0x1(%rax),%r15d
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   %r15
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  add    $0x1,%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   %rbx
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  movsd  0x118(%rsp),%xmm7
  movsd  0x110(%rsp),%xmm6
  movsd  0x108(%rsp),%xmm5
  movsd  0x100(%rsp),%xmm4
  movsd  0xf8(%rsp),%xmm3
  mov    0xf0(%rsp),%r9
  movsd  0xe8(%rsp),%xmm2
  movsd  0xe0(%rsp),%xmm1
  movsd  0xd8(%rsp),%xmm0
  mov    0xd4(%rsp),%edi
  call   <contr_hrr>
  movsd  %xmm0,0x120(%rsp)
  movsd  0x118(%rsp),%xmm7
  movapd %xmm7,%xmm4
  subsd  0x200(%rsp),%xmm4
  movsd  %xmm4,0x118(%rsp)
  add    $0xd0,%rsp
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   %r15
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   %rbx
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  movsd  0x110(%rsp),%xmm6
  movsd  0x108(%rsp),%xmm5
  movsd  0x100(%rsp),%xmm4
  movsd  0xf8(%rsp),%xmm3
  mov    0xf0(%rsp),%r9
  mov    %r14d,%r8d
  mov    %r13d,%ecx
  mov    %r12d,%edx
  mov    %rbp,%rsi
  movsd  0xe8(%rsp),%xmm2
  movsd  0xe0(%rsp),%xmm1
  movsd  0xd8(%rsp),%xmm0
  mov    0xd4(%rsp),%edi
  call   <contr_hrr>
  mulsd  0x118(%rsp),%xmm0
  addsd  0x120(%rsp),%xmm0
  add    $0xd0,%rsp
  jmp    L70
L38:
  mov    0x158(%rsp),%eax
  lea    -0x1(%rax),%r15d
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   %r15
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  add    $0x1,%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   %rbx
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  movsd  0x118(%rsp),%xmm7
  movsd  0x110(%rsp),%xmm6
  movsd  0x108(%rsp),%xmm5
  movsd  0x100(%rsp),%xmm4
  movsd  0xf8(%rsp),%xmm3
  mov    0xf0(%rsp),%r9
  movsd  0xe8(%rsp),%xmm2
  movsd  0xe0(%rsp),%xmm1
  movsd  0xd8(%rsp),%xmm0
  mov    0xd4(%rsp),%edi
  call   <contr_hrr>
  movsd  %xmm0,0x120(%rsp)
  movsd  0x1b8(%rsp),%xmm7
  subsd  0x208(%rsp),%xmm7
  movsd  %xmm7,0x128(%rsp)
  add    $0xd0,%rsp
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   %r15
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  mov    0x168(%rsp),%eax
  push   %rax
  push   %rbx
  push   0x168(%rsp)
  mov    0x168(%rsp),%eax
  push   %rax
  push   0x168(%rsp)
  movsd  0x118(%rsp),%xmm7
  movsd  0x110(%rsp),%xmm6
  movsd  0x108(%rsp),%xmm5
  movsd  0x100(%rsp),%xmm4
  movsd  0xf8(%rsp),%xmm3
  mov    0xf0(%rsp),%r9
  mov    %r14d,%r8d
  mov    %r13d,%ecx
  mov    %r12d,%edx
  mov    %rbp,%rsi
  movsd  0xe8(%rsp),%xmm2
  movsd  0xe0(%rsp),%xmm1
  movsd  0xd8(%rsp),%xmm0
  mov    0xd4(%rsp),%edi
  call   <contr_hrr>
  mulsd  0x128(%rsp),%xmm0
  addsd  0x120(%rsp),%xmm0
  add    $0xd0,%rsp
  jmp    L70
```

assistant: ```c
double contr_hrr(int lena, double xa, double ya, double za, double *anorms, int la, int ma, int na, double *aexps, double *acoefs, int lenb, double xb, double yb, double zb, double *bnorms, int lb, int mb, int nb, double *bexps, double *bcoefs, int lenc, double xc, double yc, double zc, double *cnorms, int lc, int mc, int nc, double *cexps, double *ccoefs, int lend, double xd, double yd, double zd, double *dnorms, int ld, int md, int nd, double *dexps, double *dcoefs) {
  if (lb > 0) {
    return contr_hrr(lena, xa, ya, za, anorms, la + 1, ma, na, aexps, acoefs, lenb, xb, yb, zb, bnorms, lb - 1, mb, nb, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc, mc, nc, cexps, ccoefs, lend, xd, yd, zd, dnorms, ld, md, nd, dexps, dcoefs) + (xa - xb) * contr_hrr(lena, xa, ya, za, anorms, la, ma, na, aexps, acoefs, lenb, xb, yb, zb, bnorms, lb - 1, mb, nb, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc, mc, nc, cexps, ccoefs, lend, xd, yd, zd, dnorms, ld, md, nd, dexps, dcoefs);
  } else if (mb > 0) {
    return contr_hrr(lena, xa, ya, za, anorms, la, ma + 1, na, aexps, acoefs, lenb, xb, yb, zb, bnorms, lb, mb - 1, nb, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc, mc, nc, cexps, ccoefs, lend, xd, yd, zd, dnorms, ld, md, nd, dexps, dcoefs) + (ya - yb) * contr_hrr(lena, xa, ya, za, anorms, la, ma, na, aexps, acoefs, lenb, xb, yb, zb, bnorms, lb, mb - 1, nb, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc, mc, nc, cexps, ccoefs, lend, xd, yd, zd, dnorms, ld, md, nd, dexps, dcoefs);
  } else if (nb > 0) {
    return contr_hrr(lena, xa, ya, za, anorms, la, ma, na + 1, aexps, acoefs, lenb, xb, yb, zb, bnorms, lb, mb, nb - 1, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc, mc, nc, cexps, ccoefs, lend, xd, yd, zd, dnorms, ld, md, nd, dexps, dcoefs) + (za - zb) * contr_hrr(lena, xa, ya, za, anorms, la, ma, na, aexps, acoefs, lenb, xb, yb, zb, bnorms, lb, mb, nb - 1, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc, mc, nc, cexps, ccoefs, lend, xd, yd, zd, dnorms, ld, md, nd, dexps, dcoefs);
  } else if (ld > 0) {
    return contr_hrr(lena, xa, ya, za, anorms, la, ma, na, aexps, acoefs, lenb, xb, yb, zb, bnorms, lb, mb, nb, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc + 1, mc, nc, cexps, ccoefs, lend, xd, yd, zd, dnorms, ld - 1, md, nd, dexps, dcoefs) + (xc - xd) * contr_hrr(lena, xa, ya, za, anorms, la, ma, na, aexps, acoefs, lenb, xb, yb, zb, bnorms, lb, mb, nb, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc, mc, nc, cexps, ccoefs, lend, xd, yd, zd, dnorms, ld - 1, md, nd, dexps, dcoefs);
  } else if (md > 0) {
    return contr_hrr(lena, xa, ya, za, anorms, la, ma, na, aexps, acoefs, lenb, xb, yb, zb, bnorms, lb, mb, nb, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc, mc + 1, nc, cexps, ccoefs, lend, xd, yd, zd, dnorms, ld, md - 1, nd, dexps, dcoefs) + (yc - yd) * contr_hrr(lena, xa, ya, za, anorms, la, ma, na, aexps, acoefs, lenb, xb, yb, zb, bnorms, lb, mb, nb, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc, mc, nc, cexps, ccoefs, lend, xd, yd, zd, dnorms, ld, md - 1, nd, dexps, dcoefs);
  } else if (nd > 0) {
    return contr_hrr(lena, xa, ya, za, anorms, la, ma, na, aexps, acoefs, lenb, xb, yb, zb, bnorms, lb, mb, nb, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc, mc, nc + 1, cexps, ccoefs, lend, xd, yd, zd, dnorms, ld, md, nd - 1, dexps, dcoefs) + (zc - zd) * contr_hrr(lena, xa, ya, za, anorms, la, ma, na, aexps, acoefs, lenb, xb, yb, zb, bnorms, lb, mb, nb, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc, mc, nc, cexps, ccoefs, lend, xd, yd, zd, dnorms, ld, md, nd - 1, dexps, dcoefs);
  }
  return contr_vrr(lena, xa, ya, za, anorms, la, ma, na, aexps, acoefs, lenb, xb, yb, zb, bnorms, bexps, bcoefs, lenc, xc, yc, zc, cnorms, lc, mc, nc, cexps, ccoefs, lend, xd, yd, zd, dnorms, dexps, dcoefs);
}
```