user: Translate the below assembly code into C programming language:

```asm
<En>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x60,%rsp
  mov    %edi,-0xc4(%rbp)
  movsd  %xmm0,-0xd0(%rbp)
  movsd  %xmm1,-0xd8(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  cmpl   $0x0,-0xc4(%rbp)
  jne    L162
  movsd  D553(%rip),%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  jmp    L181
L162:
  cmpl   $0x1,-0xc4(%rbp)
  jne    L67
  movsd  -0xd8(%rbp),%xmm0
  subsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  jmp    L181
L67:
  cmpl   $0x2,-0xc4(%rbp)
  jne    L56
  movsd  -0xd8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  -0xd0(%rbp),%xmm1
  movsd  D181(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0xd8(%rbp),%xmm1
  movsd  -0xb0(%rbp),%xmm0
  subsd  %xmm1,%xmm0
  movsd  -0xa0(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  jmp    L181
L56:
  cmpl   $0x3,-0xc4(%rbp)
  jne    L100
  movsd  -0xd8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  movsd  -0xd0(%rbp),%xmm2
  movsd  D646(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xb0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x98(%rbp),%xmm2
  movsd  D646(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x98(%rbp),%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  jmp    L181
L100:
  cmpl   $0x4,-0xc4(%rbp)
  jne    L241
  movsd  -0xd8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0xd0(%rbp),%xmm1
  movsd  D551(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  movapd %xmm0,%xmm2
  mulsd  -0xd8(%rbp),%xmm2
  movsd  -0xa8(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x60(%rbp),%xmm2
  movsd  D349(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x60(%rbp),%xmm2
  movsd  D551(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  mulsd  -0xd8(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  -0x88(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  jmp    L181
L241:
  cmpl   $0x5,-0xc4(%rbp)
  jne    L110
  movsd  -0xd8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x60(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x28(%rbp)
  movsd  -0xa8(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  movsd  -0xa8(%rbp),%xmm2
  movsd  D754(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xd0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x60(%rbp),%xmm2
  movsd  D384(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x60(%rbp),%xmm2
  movsd  D384(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xb0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x28(%rbp),%xmm2
  movsd  D754(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x28(%rbp),%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  jmp    L181
L110:
  cmpl   $0x6,-0xc4(%rbp)
  jne    L215
  movsd  -0xd8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0x18(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0xa8(%rbp),%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  movsd  -0xd0(%rbp),%xmm2
  movsd  D561(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xa8(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xd8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x18(%rbp),%xmm2
  movsd  D195(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x18(%rbp),%xmm2
  movsd  D566(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  mulsd  -0xb0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xd8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x58(%rbp),%xmm2
  movsd  D195(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x58(%rbp),%xmm2
  movsd  D561(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xd8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x58(%rbp),%xmm0
  mulsd  -0x18(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  jmp    L181
L215:
  cmpl   $0x7,-0xc4(%rbp)
  jne    L79
  movsd  -0xd8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  -0x30(%rbp),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  movsd  -0x30(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x80(%rbp)
  movsd  -0xa0(%rbp),%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  movsd  -0xd0(%rbp),%xmm2
  movsd  D395(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xa0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xb0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x30(%rbp),%xmm2
  movsd  D422(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa0(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x28(%rbp),%xmm2
  movsd  D746(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xa0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x80(%rbp),%xmm2
  movsd  D746(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x80(%rbp),%xmm2
  movsd  D422(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xb0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x80(%rbp),%xmm2
  movsd  D395(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x30(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x80(%rbp),%xmm1
  mulsd  -0x28(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  jmp    L181
L79:
  cmpl   $0x8,-0xc4(%rbp)
  jne    L36
  movsd  -0xd8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  -0xa8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  -0x30(%rbp),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  movsd  -0x30(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x40(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0xd0(%rbp),%xmm1
  movsd  D96(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  movapd %xmm0,%xmm2
  mulsd  -0x98(%rbp),%xmm2
  movsd  -0xa0(%rbp),%xmm0
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x30(%rbp),%xmm2
  movsd  D780(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x28(%rbp),%xmm2
  movsd  D540(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xa8(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xd8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x40(%rbp),%xmm2
  movsd  D119(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x40(%rbp),%xmm2
  movsd  D540(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x98(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x40(%rbp),%xmm2
  movsd  D780(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x30(%rbp),%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x40(%rbp),%xmm2
  movsd  D96(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x28(%rbp),%xmm1
  mulsd  -0xd8(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  -0x8(%rbp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  jmp    L181
L36:
  cmpl   $0x9,-0xc4(%rbp)
  jne    L173
  movsd  -0xd8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  -0xa8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  -0x18(%rbp),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  movsd  -0x18(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x40(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0xa0(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  movsd  -0xa0(%rbp),%xmm2
  movsd  D424(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xd0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x18(%rbp),%xmm2
  movsd  D363(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  mulsd  -0x30(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x28(%rbp),%xmm2
  movsd  D141(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xa8(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xb0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x40(%rbp),%xmm2
  movsd  D708(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x40(%rbp),%xmm2
  movsd  D708(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xa8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x40(%rbp),%xmm2
  movsd  D141(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x18(%rbp),%xmm0
  mulsd  -0x30(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x40(%rbp),%xmm2
  movsd  D363(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x28(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xb0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x10(%rbp),%xmm2
  movsd  D424(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x10(%rbp),%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  jmp    L181
L173:
  cmpl   $0xa,-0xc4(%rbp)
  jne    L121
  movsd  -0xd8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  -0xa8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  -0x30(%rbp),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  movsd  -0x30(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x40(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x20(%rbp)
  movsd  -0xa0(%rbp),%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  movsd  -0xd0(%rbp),%xmm2
  movsd  D772(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xa0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xd8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x30(%rbp),%xmm2
  movsd  D441(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x88(%rbp),%xmm2
  movsd  D169(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xa8(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x28(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x40(%rbp),%xmm2
  movsd  D135(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x40(%rbp),%xmm2
  movsd  D326(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  mulsd  -0xa8(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xd8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x40(%rbp),%xmm2
  movsd  D135(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x30(%rbp),%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x40(%rbp),%xmm2
  movsd  D169(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x88(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x28(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x20(%rbp),%xmm2
  movsd  D441(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x20(%rbp),%xmm2
  movsd  D772(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xd8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x20(%rbp),%xmm0
  mulsd  -0x30(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  jmp    L181
L121:
  cmpl   $0xb,-0xc4(%rbp)
  jne    L262
  movsd  -0xd8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  -0xa0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movsd  -0x90(%rbp),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x90(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x40(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  movsd  -0xa8(%rbp),%xmm0
  mulsd  -0x98(%rbp),%xmm0
  movsd  -0xd0(%rbp),%xmm2
  movsd  D769(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x98(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xb0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x90(%rbp),%xmm2
  movsd  D120(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x98(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x58(%rbp),%xmm2
  movsd  D502(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x98(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x40(%rbp),%xmm2
  movsd  D651(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa0(%rbp),%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x40(%rbp),%xmm2
  movsd  D127(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  mulsd  -0xa0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xb0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x40(%rbp),%xmm2
  movsd  D127(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x90(%rbp),%xmm0
  mulsd  -0xa0(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x40(%rbp),%xmm2
  movsd  D651(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x58(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xa0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x38(%rbp),%xmm2
  movsd  D502(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x38(%rbp),%xmm2
  movsd  D120(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xb0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x38(%rbp),%xmm2
  movsd  D769(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x90(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x38(%rbp),%xmm1
  mulsd  -0x58(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  jmp    L181
L262:
  cmpl   $0xc,-0xc4(%rbp)
  jne    L250
  movsd  -0xd8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  -0xa8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movsd  -0x90(%rbp),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x90(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x50(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0xa0(%rbp),%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  movsd  -0xd0(%rbp),%xmm2
  movsd  D445(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xa0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x60(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x90(%rbp),%xmm2
  movsd  D472(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa0(%rbp),%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x58(%rbp),%xmm2
  movsd  D186(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xa0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xd8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x50(%rbp),%xmm2
  movsd  D717(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x50(%rbp),%xmm2
  movsd  D315(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  mulsd  -0xa8(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x60(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x50(%rbp),%xmm2
  movsd  D234(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x90(%rbp),%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x50(%rbp),%xmm2
  movsd  D315(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x58(%rbp),%xmm1
  mulsd  -0xa8(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xd8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x48(%rbp),%xmm2
  movsd  D717(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x48(%rbp),%xmm2
  movsd  D186(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x60(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x48(%rbp),%xmm2
  movsd  D472(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x90(%rbp),%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x48(%rbp),%xmm2
  movsd  D445(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x58(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xd8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x48(%rbp),%xmm0
  mulsd  -0x50(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  jmp    L181
L250:
  cmpl   $0xd,-0xc4(%rbp)
  jne    L181
  movsd  -0xd8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  -0xa8(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  -0xa8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x98(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  movsd  -0xb0(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  movsd  %xmm0,-0x88(%rbp)
  movsd  -0x90(%rbp),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0x80(%rbp)
  movsd  -0x90(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x78(%rbp)
  movsd  -0x78(%rbp),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0x70(%rbp)
  movsd  -0x78(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x68(%rbp)
  movsd  -0x98(%rbp),%xmm0
  mulsd  -0xa0(%rbp),%xmm0
  movsd  -0xd0(%rbp),%xmm2
  movsd  D201(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xa8(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x98(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x90(%rbp),%xmm2
  movsd  D202(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x98(%rbp),%xmm0
  mulsd  -0x88(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x80(%rbp),%xmm2
  movsd  D328(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x98(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xb0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x78(%rbp),%xmm2
  movsd  D286(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x98(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x70(%rbp),%xmm2
  movsd  D75(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0x98(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x78(%rbp),%xmm2
  movsd  D162(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x90(%rbp),%xmm0
  mulsd  -0xa8(%rbp),%xmm0
  mulsd  -0x88(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x78(%rbp),%xmm2
  movsd  D162(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x80(%rbp),%xmm1
  mulsd  -0xa8(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xb0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x68(%rbp),%xmm2
  movsd  D75(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0xa0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x68(%rbp),%xmm2
  movsd  D286(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xa8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x68(%rbp),%xmm2
  movsd  D328(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x90(%rbp),%xmm0
  mulsd  -0x88(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x68(%rbp),%xmm2
  movsd  D202(%rip),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  -0x80(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xb0(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  movsd  -0x68(%rbp),%xmm2
  movsd  D201(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  mulsd  -0x78(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x68(%rbp),%xmm1
  mulsd  -0x70(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
L181:
  movsd  -0xb8(%rbp),%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  leave
  ret
```

tool_calls: name: unpack_data
arguments: label: D553
datatype: f64
name: unpack_data
arguments: label: D181
datatype: f64
name: unpack_data
arguments: label: D646
datatype: f64
name: unpack_data
arguments: label: D551
datatype: f64
name: unpack_data
arguments: label: D349
datatype: f64
name: unpack_data
arguments: label: D754
datatype: f64
name: unpack_data
arguments: label: D384
datatype: f64
name: unpack_data
arguments: label: D561
datatype: f64
name: unpack_data
arguments: label: D195
datatype: f64
name: unpack_data
arguments: label: D566
datatype: f64
name: unpack_data
arguments: label: D395
datatype: f64
name: unpack_data
arguments: label: D422
datatype: f64
name: unpack_data
arguments: label: D746
datatype: f64
name: unpack_data
arguments: label: D96
datatype: f64
name: unpack_data
arguments: label: D780
datatype: f64
name: unpack_data
arguments: label: D540
datatype: f64
name: unpack_data
arguments: label: D119
datatype: f64
name: unpack_data
arguments: label: D424
datatype: f64
name: unpack_data
arguments: label: D363
datatype: f64
name: unpack_data
arguments: label: D141
datatype: f64
name: unpack_data
arguments: label: D708
datatype: f64
name: unpack_data
arguments: label: D772
datatype: f64
name: unpack_data
arguments: label: D441
datatype: f64
name: unpack_data
arguments: label: D169
datatype: f64
name: unpack_data
arguments: label: D135
datatype: f64
name: unpack_data
arguments: label: D326
datatype: f64
name: unpack_data
arguments: label: D769
datatype: f64
name: unpack_data
arguments: label: D120
datatype: f64
name: unpack_data
arguments: label: D502
datatype: f64
name: unpack_data
arguments: label: D651
datatype: f64
name: unpack_data
arguments: label: D127
datatype: f64
name: unpack_data
arguments: label: D445
datatype: f64
name: unpack_data
arguments: label: D472
datatype: f64
name: unpack_data
arguments: label: D186
datatype: f64
name: unpack_data
arguments: label: D717
datatype: f64
name: unpack_data
arguments: label: D315
datatype: f64
name: unpack_data
arguments: label: D234
datatype: f64
name: unpack_data
arguments: label: D201
datatype: f64
name: unpack_data
arguments: label: D202
datatype: f64
name: unpack_data
arguments: label: D328
datatype: f64
name: unpack_data
arguments: label: D286
datatype: f64
name: unpack_data
arguments: label: D75
datatype: f64
name: unpack_data
arguments: label: D162
datatype: f64

tool: D553: 1

tool: D181: 3

tool: D646: 6

tool: D551: 10

tool: D349: 20

tool: D754: 15

tool: D384: 50

tool: D561: 21

tool: D195: 105

tool: D566: 175

tool: D395: 28

tool: D422: 196

tool: D746: 490

tool: D96: 36

tool: D780: 336

tool: D540: 1176

tool: D119: 1764

tool: D424: 45

tool: D363: 540

tool: D141: 2520

tool: D708: 5292

tool: D772: 55

tool: D441: 825

tool: D169: 4950

tool: D135: 13860

tool: D326: 19404

tool: D769: 66

tool: D120: 1210

tool: D502: 9075

tool: D651: 32670

tool: D127: 60984

tool: D445: 78

tool: D472: 1716

tool: D186: 15730

tool: D717: 70785

tool: D315: 169884

tool: D234: 226512

tool: D201: 91

tool: D202: 2366

tool: D328: 26026

tool: D286: 143143

tool: D75: 429429

tool: D162: 736164

assistant: ```c
double En(int ip, double r, double s) {
  double f = 0.0;
  double t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11, t12, t13, t14, t15, t16, t17, t18;
  double t19, t20, t21, t22, t23, t24, t25, t26, t27, t28;
  if (ip == 0) {
    f = 1.0;
  } else if (ip == 1) {
    f = s - r;
  } else if (ip == 2) {
    t1 = s * s;
    t3 = r * r;
    f = t1 - 3.0 * r * s + t3;
  } else if (ip == 3) {
    t1 = s * s;
    t4 = r * r;
    f = t1 * s - 6.0 * r * t1 + 6.0 * t4 * s - t4 * r;
  } else if (ip == 4) {
    t1 = s * s;
    t2 = t1 * t1;
    t5 = r * r;
    t9 = t5 * t5;
    f = t2 - 10.0 * r * t1 * s + 20.0 * t5 * t1 - 10.0 * t5 * r * s + t9;
  } else if (ip == 5) {
    t1 = s * s;
    t2 = t1 * t1;
    t5 = r * r;
    t10 = t5 * t5;
    f = t2 * s - 15.0 * t2 * r + 50.0 * t5 * t1 * s - 50.0 * t5 * r * t1 + 15.0 * t10 * s - t10 * r;
  } else if (ip == 6) {
    t1 = s * s;
    t2 = t1 * t1;
    t6 = r * r;
    t11 = t6 * t6;
    f = t2 * t1 - 21.0 * r * t2 * s + 105.0 * t6 * t2 - 175.0 * t6 * r * t1 * s + 105.0 * t11 * t1 - 21.0 * t11 * r * s + t11 * t6;
  } else if (ip == 7) {
    t1 = s * s;
    t2 = t1 * s;
    t3 = t1 * t1;
    t7 = r * r;
    t10 = t7 * r;
    t12 = t7 * t7;
    f = t3 * t2 - 28.0 * r * t3 * t1 + 196.0 * t7 * t3 * s - 490.0 * t10 * t3 + 490.0 * t12 * t2 - 196.0 * t12 * r * t1 + 28.0 * t12 * t7 * s - t12 * t10;
  } else if (ip == 8) {
    t1 = s * s;
    t2 = t1 * t1;
    t3 = t2 * t2;
    t4 = t1 * s;
    t7 = r * r;
    t10 = t7 * r;
    t13 = t7 * t7;
    t21 = t13 * t13;
    f = t3 - 36.0 * r * t2 * t4 + 336.0 * t7 * t2 * t1 - 1176.0 * t10 * t2 * s + 1764.0 * t13 * t2 - 1176.0 * t13 * r * t4 + 336.0 * t13 * t7 * t1 - 36.0 * t13 * t10 * s + t21;
  } else if (ip == 9) {
    t1 = s * s;
    t2 = t1 * t1;
    t3 = t2 * t2;
    t6 = r * r;
    t7 = t1 * s;
    t10 = t6 * r;
    t13 = t6 * t6;
    t22 = t13 * t13;
    f = t3 * s - 45.0 * t3 * r + 540.0 * t6 * t2 * t7 - 2520.0 * t10 * t2 * t1 + 5292.0 * t13 * t2 * s - 5292.0 * t13 * r * t2 + 2520.0 * t13 * t6 * t7 - 540.0 * t13 * t10 * t1 + 45.0 * t22 * s - t22 * r;
  } else if (ip == 10) {
    t1 = s * s;
    t2 = t1 * t1;
    t3 = t2 * t2;
    t7 = r * r;
    t9 = t7 * r;
    t10 = t1 * s;
    t13 = t7 * t7;
    t23 = t13 * t13;
    f = t3 * t1 - 55.0 * r * t3 * s + 825.0 * t7 * t3 - 4950.0 * t9 * t2 * t10 + 13860.0 * t13 * t2 * t1 - 19404.0 * t13 * r * t2 * s + 13860.0 * t13 * t7 * t2 - 4950.0 * t13 * t9 * t10 + 825.0 * t23 * t1 - 55.0 * t23 * r * s + t23 * t7;
  } else if (ip == 11) {
    t1 = s * s;
    t2 = t1 * s;
    t3 = t1 * t1;
    t4 = t3 * t3;
    t8 = r * r;
    t11 = t8 * r;
    t13 = t8 * t8;
    t24 = t13 * t13;
    f = t2 * t4 - 66.0 * r * t4 * t1 + 1210.0 * t8 * t4 * s - 9075.0 * t11 * t4 + 32670.0 * t13 * t3 * t2 - 60984.0 * t13 * r * t3 * t1 + 60984.0 * t13 * t8 * t3 * s - 32670.0 * t13 * t11 * t3 + 9075.0 * t24 * t2 - 1210.0 * t24 * r * t1 + 66.0 * t24 * t8 * s - t24 * t11;
  } else if (ip == 12) {
    t1 = s * s;
    t2 = t1 * t1;
    t3 = t2 * t2;
    t5 = t1 * s;
    t8 = r * r;
    t11 = t8 * r;
    t14 = t8 * t8;
    t25 = t14 * t14;
    f = t3 * t2 - 78.0 * r * t3 * t5 + 1716.0 * t8 * t3 * t1 - 15730.0 * t11 * t3 * s + 70785.0 * t14 * t3 - 169884.0 * t14 * r * t2 * t5 + 226512.0 * t14 * t8 * t2 * t1 - 169884.0 * t14 * t11 * t2 * s + 70785.0 * t25 * t2 - 15730.0 * t25 * r * t5 + 1716.0 * t25 * t8 * t1 - 78.0 * t25 * t11 * s + t25 * t14;
  } else if (ip == 13) {
    t1 = s * s;
    t2 = t1 * t1;
    t3 = t2 * s;
    t4 = t2 * t2;
    t8 = r * r;
    t9 = t1 * s;
    t12 = t8 * r;
    t15 = t8 * t8;
    t18 = t15 * r;
    t26 = t15 * t15;
    f = t4 * t3 - 91.0 * r * t2 * t4 + 2366.0 * t8 * t4 * t9 - 26026.0 * t12 * t4 * t1 + 143143.0 * t15 * t4 * s - 429429.0 * t18 * t4 + 736164.0 * t15 * t8 * t2 * t9 - 736164.0 * t15 * t12 * t2 * t1 + 429429.0 * t26 * t3 - 143143.0 * t26 * r * t2 + 26026.0 * t26 * t8 * t9 - 2366.0 * t26 * t12 * t1 + 91.0 * t26 * t15 * s - t26 * t18;
  }
  return f;
}
```