user: 提供的汇编代码用C语言表示会是什么样子：

```asm
<radfg>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xb0,%rsp
  mov    %edi,-0x94(%rbp)
  mov    %esi,-0x98(%rbp)
  mov    %edx,-0x9c(%rbp)
  mov    %ecx,-0xa0(%rbp)
  mov    %r8,-0xa8(%rbp)
  mov    %r9,-0xb0(%rbp)
  movsd  D15(%rip),%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sdl -0x98(%rbp),%xmm1
  divsd  %xmm1,%xmm0
  movsd  %xmm0,-0x38(%rbp)
  mov    -0x38(%rbp),%rax
  movq   %rax,%xmm0
  call   <cos@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x30(%rbp)
  mov    -0x38(%rbp),%rax
  movq   %rax,%xmm0
  call   <sin@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x28(%rbp)
  mov    -0x98(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,-0x70(%rbp)
  mov    -0x94(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %edx,%eax
  sar    %eax
  mov    %eax,-0x6c(%rbp)
  cmpl   $0x1,-0x94(%rbp)
  je     L293
  movl   $0x0,-0x78(%rbp)
  jmp    L685
L593:
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rax,%rdx
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rcx
  mov    -0xb0(%rbp),%rax
  add    %rcx,%rax
  movsd  (%rdx),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x78(%rbp)
L685:
  mov    -0x78(%rbp),%eax
  cmp    -0xa0(%rbp),%eax
  jl     L593
  movl   $0x1,-0x84(%rbp)
  jmp    L172
L133:
  movl   $0x0,-0x80(%rbp)
  jmp    L836
L380:
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rax,%rdx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%ecx
  mov    -0x80(%rbp),%eax
  add    %ecx,%eax
  imul   -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rcx
  mov    -0xb0(%rbp),%rax
  add    %rcx,%rax
  movsd  (%rdx),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x80(%rbp)
L836:
  mov    -0x80(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L380
  addl   $0x1,-0x84(%rbp)
L172:
  mov    -0x84(%rbp),%eax
  cmp    -0x98(%rbp),%eax
  jl     L133
  mov    -0x6c(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jg     L783
  mov    -0x94(%rbp),%eax
  neg    %eax
  mov    %eax,-0x74(%rbp)
  movl   $0x1,-0x84(%rbp)
  jmp    L633
L471:
  mov    -0x94(%rbp),%eax
  add    %eax,-0x74(%rbp)
  mov    -0x74(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x8c(%rbp)
  movl   $0x2,-0x88(%rbp)
  jmp    L469
L538:
  addl   $0x2,-0x8c(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L421
L642:
  mov    -0x8c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  lea    -0x8(%rax),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x8c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm2
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  lea    -0x8(%rax),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x8c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm2
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  %xmm2,%xmm1
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x80(%rbp)
L421:
  mov    -0x80(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L642
  addl   $0x2,-0x88(%rbp)
L469:
  mov    -0x88(%rbp),%eax
  cmp    -0x94(%rbp),%eax
  jl     L538
  addl   $0x1,-0x84(%rbp)
L633:
  mov    -0x84(%rbp),%eax
  cmp    -0x98(%rbp),%eax
  jl     L471
  jmp    L477
L783:
  mov    -0x94(%rbp),%eax
  neg    %eax
  mov    %eax,-0x74(%rbp)
  movl   $0x1,-0x84(%rbp)
  jmp    L357
L306:
  mov    -0x94(%rbp),%eax
  add    %eax,-0x74(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L90
L700:
  mov    -0x74(%rbp),%eax
  sub    $0x1,%eax
  mov    %eax,-0x8c(%rbp)
  movl   $0x2,-0x88(%rbp)
  jmp    L752
L806:
  addl   $0x2,-0x8c(%rbp)
  mov    -0x8c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  lea    -0x8(%rax),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x8c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm2
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x8c(%rbp),%eax
  cltq
  shl    $0x3,%rax
  lea    -0x8(%rax),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x8c(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    0x10(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm2
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mulsd  %xmm2,%xmm1
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x2,-0x88(%rbp)
L752:
  mov    -0x88(%rbp),%eax
  cmp    -0x94(%rbp),%eax
  jl     L806
  addl   $0x1,-0x80(%rbp)
L90:
  mov    -0x80(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L700
  addl   $0x1,-0x84(%rbp)
L357:
  mov    -0x84(%rbp),%eax
  cmp    -0x98(%rbp),%eax
  jl     L306
L477:
  mov    -0x6c(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L409
  movl   $0x1,-0x84(%rbp)
  jmp    L488
L11:
  mov    -0x98(%rbp),%eax
  sub    -0x84(%rbp),%eax
  mov    %eax,-0x68(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L123
L755:
  movl   $0x2,-0x88(%rbp)
  jmp    L187
L323:
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x2,-0x88(%rbp)
L187:
  mov    -0x88(%rbp),%eax
  cmp    -0x94(%rbp),%eax
  jl     L323
  addl   $0x1,-0x80(%rbp)
L123:
  mov    -0x80(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L755
  addl   $0x1,-0x84(%rbp)
L488:
  mov    -0x84(%rbp),%eax
  cmp    -0x70(%rbp),%eax
  jl     L11
  jmp    L753
L409:
  movl   $0x1,-0x84(%rbp)
  jmp    L406
L83:
  mov    -0x98(%rbp),%eax
  sub    -0x84(%rbp),%eax
  mov    %eax,-0x68(%rbp)
  movl   $0x2,-0x88(%rbp)
  jmp    L551
L67:
  movl   $0x0,-0x80(%rbp)
  jmp    L420
L372:
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x80(%rbp)
L420:
  mov    -0x80(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L372
  addl   $0x2,-0x88(%rbp)
L551:
  mov    -0x88(%rbp),%eax
  cmp    -0x94(%rbp),%eax
  jl     L67
  addl   $0x1,-0x84(%rbp)
L406:
  mov    -0x84(%rbp),%eax
  cmp    -0x70(%rbp),%eax
  jl     L83
  jmp    L753
L293:
  movl   $0x0,-0x78(%rbp)
  jmp    L342
L214:
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rax,%rdx
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rcx
  mov    -0xa8(%rbp),%rax
  add    %rcx,%rax
  movsd  (%rdx),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x78(%rbp)
L342:
  mov    -0x78(%rbp),%eax
  cmp    -0xa0(%rbp),%eax
  jl     L214
L753:
  movl   $0x1,-0x84(%rbp)
  jmp    L399
L814:
  mov    -0x98(%rbp),%eax
  sub    -0x84(%rbp),%eax
  mov    %eax,-0x68(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L32
L492:
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x80(%rbp)
L32:
  mov    -0x80(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L492
  addl   $0x1,-0x84(%rbp)
L399:
  mov    -0x84(%rbp),%eax
  cmp    -0x70(%rbp),%eax
  jl     L814
  movsd  D8(%rip),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  pxor   %xmm0,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movl   $0x1,-0x7c(%rbp)
  jmp    L250
L304:
  mov    -0x98(%rbp),%eax
  sub    -0x7c(%rbp),%eax
  mov    %eax,-0x5c(%rbp)
  movsd  -0x30(%rbp),%xmm0
  mulsd  -0x48(%rbp),%xmm0
  movsd  -0x28(%rbp),%xmm1
  mulsd  -0x58(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x20(%rbp)
  movsd  -0x30(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x58(%rbp),%xmm1
  movsd  -0x28(%rbp),%xmm0
  mulsd  -0x48(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  -0x20(%rbp),%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movl   $0x0,-0x78(%rbp)
  jmp    L824
L438:
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x78(%rbp),%edx
  mov    -0xa0(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x48(%rbp),%xmm0
  mov    -0x7c(%rbp),%eax
  imul   -0xa0(%rbp),%eax
  mov    %eax,%edx
  mov    -0x78(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x98(%rbp),%eax
  sub    $0x1,%eax
  imul   -0xa0(%rbp),%eax
  mov    %eax,%edx
  mov    -0x78(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x5c(%rbp),%eax
  imul   -0xa0(%rbp),%eax
  mov    %eax,%edx
  mov    -0x78(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  mulsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x78(%rbp)
L824:
  mov    -0x78(%rbp),%eax
  cmp    -0xa0(%rbp),%eax
  jl     L438
  movsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  movsd  -0x48(%rbp),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movl   $0x2,-0x84(%rbp)
  jmp    L484
L16:
  mov    -0x98(%rbp),%eax
  sub    -0x84(%rbp),%eax
  mov    %eax,-0x68(%rbp)
  movsd  -0x18(%rbp),%xmm0
  mulsd  -0x40(%rbp),%xmm0
  movsd  -0x10(%rbp),%xmm1
  mulsd  -0x50(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  movsd  -0x18(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x50(%rbp),%xmm1
  movsd  -0x10(%rbp),%xmm0
  mulsd  -0x40(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x50(%rbp)
  movsd  -0x8(%rbp),%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movl   $0x0,-0x78(%rbp)
  jmp    L131
L296:
  mov    -0x7c(%rbp),%eax
  imul   -0xa0(%rbp),%eax
  mov    %eax,%edx
  mov    -0x78(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x84(%rbp),%eax
  imul   -0xa0(%rbp),%eax
  mov    %eax,%edx
  mov    -0x78(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x40(%rbp),%xmm0
  mov    -0x7c(%rbp),%eax
  imul   -0xa0(%rbp),%eax
  mov    %eax,%edx
  mov    -0x78(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x5c(%rbp),%eax
  imul   -0xa0(%rbp),%eax
  mov    %eax,%edx
  mov    -0x78(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x68(%rbp),%eax
  imul   -0xa0(%rbp),%eax
  mov    %eax,%edx
  mov    -0x78(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x50(%rbp),%xmm0
  mov    -0x5c(%rbp),%eax
  imul   -0xa0(%rbp),%eax
  mov    %eax,%edx
  mov    -0x78(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x78(%rbp)
L131:
  mov    -0x78(%rbp),%eax
  cmp    -0xa0(%rbp),%eax
  jl     L296
  addl   $0x1,-0x84(%rbp)
L484:
  mov    -0x84(%rbp),%eax
  cmp    -0x70(%rbp),%eax
  jl     L16
  addl   $0x1,-0x7c(%rbp)
L250:
  mov    -0x7c(%rbp),%eax
  cmp    -0x70(%rbp),%eax
  jl     L304
  movl   $0x1,-0x84(%rbp)
  jmp    L643
L197:
  movl   $0x0,-0x78(%rbp)
  jmp    L561
L833:
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x84(%rbp),%eax
  imul   -0xa0(%rbp),%eax
  mov    %eax,%edx
  mov    -0x78(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x78(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x78(%rbp)
L561:
  mov    -0x78(%rbp),%eax
  cmp    -0xa0(%rbp),%eax
  jl     L833
  addl   $0x1,-0x84(%rbp)
L643:
  mov    -0x84(%rbp),%eax
  cmp    -0x70(%rbp),%eax
  jl     L197
  mov    -0x94(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L694
  movl   $0x0,-0x80(%rbp)
  jmp    L570
L297:
  movl   $0x0,-0x88(%rbp)
  jmp    L830
L87:
  mov    -0x80(%rbp),%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rax,%rdx
  mov    -0x80(%rbp),%eax
  imul   -0x98(%rbp),%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%ecx
  mov    -0x88(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rcx
  mov    -0xa8(%rbp),%rax
  add    %rcx,%rax
  movsd  (%rdx),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x88(%rbp)
L830:
  mov    -0x88(%rbp),%eax
  cmp    -0x94(%rbp),%eax
  jl     L87
  addl   $0x1,-0x80(%rbp)
L570:
  mov    -0x80(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L297
  jmp    L462
L694:
  movl   $0x0,-0x88(%rbp)
  jmp    L681
L111:
  movl   $0x0,-0x80(%rbp)
  jmp    L252
L392:
  mov    -0x80(%rbp),%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rax,%rdx
  mov    -0x80(%rbp),%eax
  imul   -0x98(%rbp),%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%ecx
  mov    -0x88(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rcx
  mov    -0xa8(%rbp),%rax
  add    %rcx,%rax
  movsd  (%rdx),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x80(%rbp)
L252:
  mov    -0x80(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L392
  addl   $0x1,-0x88(%rbp)
L681:
  mov    -0x88(%rbp),%eax
  cmp    -0x94(%rbp),%eax
  jl     L111
L462:
  movl   $0x1,-0x84(%rbp)
  jmp    L818
L773:
  mov    -0x98(%rbp),%eax
  sub    -0x84(%rbp),%eax
  mov    %eax,-0x68(%rbp)
  mov    -0x84(%rbp),%eax
  add    %eax,%eax
  mov    %eax,-0x64(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L154
L326:
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rax,%rdx
  mov    -0x94(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x64(%rbp),%eax
  lea    -0x1(%rax),%esi
  mov    -0x80(%rbp),%eax
  imul   -0x98(%rbp),%eax
  add    %esi,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rcx
  mov    -0xa8(%rbp),%rax
  add    %rcx,%rax
  movsd  (%rdx),%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rax,%rdx
  mov    -0x80(%rbp),%eax
  imul   -0x98(%rbp),%eax
  mov    %eax,%ecx
  mov    -0x64(%rbp),%eax
  add    %ecx,%eax
  imul   -0x94(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rcx
  mov    -0xa8(%rbp),%rax
  add    %rcx,%rax
  movsd  (%rdx),%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x80(%rbp)
L154:
  mov    -0x80(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L326
  addl   $0x1,-0x84(%rbp)
L818:
  mov    -0x84(%rbp),%eax
  cmp    -0x70(%rbp),%eax
  jl     L773
  cmpl   $0x1,-0x94(%rbp)
  je     L719
  mov    -0x6c(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L445
  movl   $0x1,-0x84(%rbp)
  jmp    L321
L322:
  mov    -0x98(%rbp),%eax
  sub    -0x84(%rbp),%eax
  mov    %eax,-0x68(%rbp)
  mov    -0x84(%rbp),%eax
  add    %eax,%eax
  mov    %eax,-0x64(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L349
L19:
  movl   $0x2,-0x88(%rbp)
  jmp    L528
L634:
  mov    -0x94(%rbp),%eax
  sub    -0x88(%rbp),%eax
  mov    %eax,-0x60(%rbp)
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x80(%rbp),%eax
  imul   -0x98(%rbp),%eax
  mov    %eax,%edx
  mov    -0x64(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x60(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    -0x64(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x80(%rbp),%eax
  imul   -0x98(%rbp),%eax
  add    %ecx,%eax
  imul   -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x80(%rbp),%eax
  imul   -0x98(%rbp),%eax
  mov    %eax,%edx
  mov    -0x64(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x64(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    -0x80(%rbp),%eax
  imul   -0x98(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x60(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x2,-0x88(%rbp)
L528:
  mov    -0x88(%rbp),%eax
  cmp    -0x94(%rbp),%eax
  jl     L634
  addl   $0x1,-0x80(%rbp)
L349:
  mov    -0x80(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L19
  addl   $0x1,-0x84(%rbp)
L321:
  mov    -0x84(%rbp),%eax
  cmp    -0x70(%rbp),%eax
  jl     L322
  jmp    L498
L445:
  movl   $0x1,-0x84(%rbp)
  jmp    L602
L796:
  mov    -0x98(%rbp),%eax
  sub    -0x84(%rbp),%eax
  mov    %eax,-0x68(%rbp)
  mov    -0x84(%rbp),%eax
  add    %eax,%eax
  mov    %eax,-0x64(%rbp)
  movl   $0x2,-0x88(%rbp)
  jmp    L302
L459:
  mov    -0x94(%rbp),%eax
  sub    -0x88(%rbp),%eax
  mov    %eax,-0x60(%rbp)
  movl   $0x0,-0x80(%rbp)
  jmp    L175
L180:
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x80(%rbp),%eax
  imul   -0x98(%rbp),%eax
  mov    %eax,%edx
  mov    -0x64(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x88(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  add    %ecx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x60(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    -0x64(%rbp),%eax
  lea    -0x1(%rax),%ecx
  mov    -0x80(%rbp),%eax
  imul   -0x98(%rbp),%eax
  add    %ecx,%eax
  imul   -0x94(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x80(%rbp),%eax
  imul   -0x98(%rbp),%eax
  mov    %eax,%edx
  mov    -0x64(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  addsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x68(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  mov    -0x84(%rbp),%eax
  imul   -0x9c(%rbp),%eax
  mov    %eax,%edx
  mov    -0x80(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x88(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm1
  mov    -0x64(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    -0x80(%rbp),%eax
  imul   -0x98(%rbp),%eax
  add    %edx,%eax
  imul   -0x94(%rbp),%eax
  mov    %eax,%edx
  mov    -0x60(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0xa8(%rbp),%rax
  add    %rdx,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x80(%rbp)
L175:
  mov    -0x80(%rbp),%eax
  cmp    -0x9c(%rbp),%eax
  jl     L180
  addl   $0x2,-0x88(%rbp)
L302:
  mov    -0x88(%rbp),%eax
  cmp    -0x94(%rbp),%eax
  jl     L459
  addl   $0x1,-0x84(%rbp)
L602:
  mov    -0x84(%rbp),%eax
  cmp    -0x70(%rbp),%eax
  jl     L796
  jmp    L498
L719:
  nop
L498:
  leave
  ret
```

tool_calls: name: parse_data
arguments: data_tag: D15
data_type: f64
name: parse_data
arguments: data_tag: D8
data_type: byte[8]

tool: D15: 6.28318530717959

tool: {"D8": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3f]}

assistant: ```c
void radfg(int ido, int ip, int l1, int idl1, double cc[], double ch[], const double wa[]) {
  static const double twopi = 6.28318530717959;
  int idij, ipph, i, j, k, l, j2, ic, jc, lc, ik, is, nbd;
  double dc2, ai1, ai2, ar1, ar2, ds2, dcp, arg, dsp, ar1h, ar2h;
  arg = twopi / ip;
  dcp = cos(arg);
  dsp = sin(arg);
  ipph = (ip + 1) / 2;
  nbd = (ido - 1) / 2;
  if (ido != 1) {
    for (ik = 0; ik < idl1; ik++)
      ch[ik] = cc[ik];
    for (j = 1; j < ip; j++)
      for (k = 0; k < l1; k++)
        ch[(k + j * l1) * ido] = cc[(k + j * l1) * ido];
    if (nbd <= l1) {
      is = -ido;
      for (j = 1; j < ip; j++) {
        is += ido;
        idij = is - 1;
        for (i = 2; i < ido; i += 2) {
          idij += 2;
          for (k = 0; k < l1; k++) {
            ch[i - 1 + (k + j * l1) * ido] = wa[idij - 1] * cc[i - 1 + (k + j * l1) * ido] + wa[idij] * cc[i + (k + j * l1) * ido];
            ch[i + (k + j * l1) * ido] = wa[idij - 1] * cc[i + (k + j * l1) * ido] - wa[idij] * cc[i - 1 + (k + j * l1) * ido];
          }
        }
      }
    } else {
      is = -ido;
      for (j = 1; j < ip; j++) {
        is += ido;
        for (k = 0; k < l1; k++) {
          idij = is - 1;
          for (i = 2; i < ido; i += 2) {
            idij += 2;
            ch[i - 1 + (k + j * l1) * ido] = wa[idij - 1] * cc[i - 1 + (k + j * l1) * ido] + wa[idij] * cc[i + (k + j * l1) * ido];
            ch[i + (k + j * l1) * ido] = wa[idij - 1] * cc[i + (k + j * l1) * ido] - wa[idij] * cc[i - 1 + (k + j * l1) * ido];
          }
        }
      }
    }
    if (nbd >= l1) {
      for (j = 1; j < ipph; j++) {
        jc = ip - j;
        for (k = 0; k < l1; k++) {
          for (i = 2; i < ido; i += 2) {
            cc[i - 1 + (k + j * l1) * ido] = ch[i - 1 + (k + j * l1) * ido] + ch[i - 1 + (k + jc * l1) * ido];
            cc[i - 1 + (k + jc * l1) * ido] = ch[i + (k + j * l1) * ido] - ch[i + (k + jc * l1) * ido];
            cc[i + (k + j * l1) * ido] = ch[i + (k + j * l1) * ido] + ch[i + (k + jc * l1) * ido];
            cc[i + (k + jc * l1) * ido] = ch[i - 1 + (k + jc * l1) * ido] - ch[i - 1 + (k + j * l1) * ido];
          }
        }
      }
    } else {
      for (j = 1; j < ipph; j++) {
        jc = ip - j;
        for (i = 2; i < ido; i += 2) {
          for (k = 0; k < l1; k++) {
            cc[i - 1 + (k + j * l1) * ido] = ch[i - 1 + (k + j * l1) * ido] + ch[i - 1 + (k + jc * l1) * ido];
            cc[i - 1 + (k + jc * l1) * ido] = ch[i + (k + j * l1) * ido] - ch[i + (k + jc * l1) * ido];
            cc[i + (k + j * l1) * ido] = ch[i + (k + j * l1) * ido] + ch[i + (k + jc * l1) * ido];
            cc[i + (k + jc * l1) * ido] = ch[i - 1 + (k + jc * l1) * ido] - ch[i - 1 + (k + j * l1) * ido];
          }
        }
      }
    }
  } else {
    for (ik = 0; ik < idl1; ik++)
      cc[ik] = ch[ik];
  }
  for (j = 1; j < ipph; j++) {
    jc = ip - j;
    for (k = 0; k < l1; k++) {
      cc[(k + j * l1) * ido] = ch[(k + j * l1) * ido] + ch[(k + jc * l1) * ido];
      cc[(k + jc * l1) * ido] = ch[(k + jc * l1) * ido] - ch[(k + j * l1) * ido];
    }
  }
  ar1 = 1;
  ai1 = 0;
  for (l = 1; l < ipph; l++) {
    lc = ip - l;
    ar1h = dcp * ar1 - dsp * ai1;
    ai1 = dcp * ai1 + dsp * ar1;
    ar1 = ar1h;
    for (ik = 0; ik < idl1; ik++) {
      ch[ik + l * idl1] = cc[ik] + ar1 * cc[ik + idl1];
      ch[ik + lc * idl1] = ai1 * cc[ik + (ip - 1) * idl1];
    }
    dc2 = ar1;
    ds2 = ai1;
    ar2 = ar1;
    ai2 = ai1;
    for (j = 2; j < ipph; j++) {
      jc = ip - j;
      ar2h = dc2 * ar2 - ds2 * ai2;
      ai2 = dc2 * ai2 + ds2 * ar2;
      ar2 = ar2h;
      for (ik = 0; ik < idl1; ik++) {
        ch[ik + l * idl1] += ar2 * cc[ik + j * idl1];
        ch[ik + lc * idl1] += ai2 * cc[ik + jc * idl1];
      }
    }
  }
  for (j = 1; j < ipph; j++)
    for (ik = 0; ik < idl1; ik++)
      ch[ik] += cc[ik + j * idl1];
  if (ido >= l1) {
    for (k = 0; k < l1; k++) {
      for (i = 0; i < ido; i++) {
        cc[i + k * ip * ido] = ch[i + k * ido];
      }
    }
  } else {
    for (i = 0; i < ido; i++) {
      for (k = 0; k < l1; k++) {
        cc[i + k * ip * ido] = ch[i + k * ido];
      }
    }
  }
  for (j = 1; j < ipph; j++) {
    jc = ip - j;
    j2 = 2 * j;
    for (k = 0; k < l1; k++) {
      cc[ido - 1 + (j2 - 1 + k * ip) * ido] = ch[(k + j * l1) * ido];
      cc[(j2 + k * ip) * ido] = ch[(k + jc * l1) * ido];
    }
  }
  if (ido == 1)
    return;
  if (nbd >= l1) {
    for (j = 1; j < ipph; j++) {
      jc = ip - j;
      j2 = 2 * j;
      for (k = 0; k < l1; k++) {
        for (i = 2; i < ido; i += 2) {
          ic = ido - i;
          cc[i - 1 + (j2 + k * ip) * ido] = ch[i - 1 + (k + j * l1) * ido] + ch[i - 1 + (k + jc * l1) * ido];
          cc[ic - 1 + (j2 - 1 + k * ip) * ido] = ch[i - 1 + (k + j * l1) * ido] - ch[i - 1 + (k + jc * l1) * ido];
          cc[i + (j2 + k * ip) * ido] = ch[i + (k + j * l1) * ido] + ch[i + (k + jc * l1) * ido];
          cc[ic + (j2 - 1 + k * ip) * ido] = ch[i + (k + jc * l1) * ido] - ch[i + (k + j * l1) * ido];
        }
      }
    }
  } else {
    for (j = 1; j < ipph; j++) {
      jc = ip - j;
      j2 = 2 * j;
      for (i = 2; i < ido; i += 2) {
        ic = ido - i;
        for (k = 0; k < l1; k++) {
          cc[i - 1 + (j2 + k * ip) * ido] = ch[i - 1 + (k + j * l1) * ido] + ch[i - 1 + (k + jc * l1) * ido];
          cc[ic - 1 + (j2 - 1 + k * ip) * ido] = ch[i - 1 + (k + j * l1) * ido] - ch[i - 1 + (k + jc * l1) * ido];
          cc[i + (j2 + k * ip) * ido] = ch[i + (k + j * l1) * ido] + ch[i + (k + jc * l1) * ido];
          cc[ic + (j2 - 1 + k * ip) * ido] = ch[i + (k + jc * l1) * ido] - ch[i + (k + j * l1) * ido];
        }
      }
    }
  }
}
```