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

```asm
<linear_GRP_2D_solver_Edir>:
  endbr64
  push   %r15
  movapd %xmm5,%xmm11
  pxor   %xmm5,%xmm5
  movapd %xmm2,%xmm14
  push   %r14
  movapd %xmm0,%xmm8
  movapd %xmm1,%xmm12
  movapd %xmm6,%xmm2
  push   %r13
  push   %r12
  mov    %rdi,%r12
  push   %rbp
  mov    %rdx,%rbp
  push   %rbx
  mov    %rsi,%rbx
  sub    $0x128,%rsp
  movsd  0x1a8(%rsp),%xmm13
  movsd  %xmm3,0x18(%rsp)
  movsd  0x188(%rsp),%xmm3
  movsd  %xmm7,0x10(%rsp)
  movsd  0x1b0(%rsp),%xmm7
  movapd %xmm13,%xmm9
  movsd  %xmm4,0x20(%rsp)
  mov    %fs:0x28,%rax
  mov    %rax,0x118(%rsp)
  xor    %eax,%eax
  mulsd  %xmm3,%xmm9
  divsd  %xmm1,%xmm9
  ucomisd %xmm9,%xmm5
  ja     L571
  sqrtsd %xmm9,%xmm9
L164:
  movsd  0x190(%rsp),%xmm10
  pxor   %xmm6,%xmm6
  mulsd  %xmm13,%xmm10
  divsd  %xmm14,%xmm10
  ucomisd %xmm10,%xmm6
  ja     L101
  sqrtsd %xmm10,%xmm10
L250:
  movapd %xmm12,%xmm0
  movapd %xmm11,%xmm1
  movapd %xmm3,%xmm4
  subsd  %xmm14,%xmm0
  subsd  %xmm2,%xmm1
  subsd  0x190(%rsp),%xmm4
  mulsd  %xmm0,%xmm0
  mulsd  %xmm1,%xmm1
  mulsd  %xmm4,%xmm4
  addsd  %xmm1,%xmm0
  addsd  %xmm4,%xmm0
  comisd %xmm0,%xmm7
  jbe    L215
  movapd %xmm11,%xmm0
  movapd %xmm11,%xmm4
  addsd  0x190(%rsp),%xmm3
  movsd  0x198(%rsp),%xmm1
  subsd  %xmm9,%xmm0
  addsd  %xmm2,%xmm4
  movsd  0x10(%rsp),%xmm7
  movapd %xmm14,%xmm5
  mulsd  %xmm10,%xmm5
  movsd  %xmm0,(%r12)
  movapd %xmm2,%xmm0
  addsd  %xmm10,%xmm0
  movsd  %xmm0,0x8(%r12)
  movsd  D405(%rip),%xmm0
  mulsd  %xmm0,%xmm4
  mulsd  %xmm0,%xmm3
  movapd %xmm12,%xmm0
  mulsd  %xmm9,%xmm0
  movsd  %xmm4,0x100(%rsp)
  comisd %xmm8,%xmm4
  movsd  %xmm3,0x108(%rsp)
  divsd  %xmm0,%xmm1
  movapd %xmm11,%xmm0
  addsd  %xmm9,%xmm0
  addsd  %xmm7,%xmm1
  mulsd  %xmm0,%xmm1
  movsd  0x1a0(%rsp),%xmm0
  divsd  %xmm5,%xmm0
  movsd  0x160(%rsp),%xmm5
  movapd %xmm1,%xmm6
  subsd  %xmm0,%xmm5
  movapd %xmm2,%xmm0
  subsd  %xmm10,%xmm0
  mulsd  %xmm0,%xmm5
  movsd  D308(%rip),%xmm0
  addsd  %xmm5,%xmm6
  subsd  %xmm5,%xmm1
  mulsd  %xmm0,%xmm6
  mulsd  %xmm12,%xmm0
  movsd  %xmm6,0x8(%rbx)
  mulsd  %xmm9,%xmm0
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,0x18(%rbx)
  ja     L137
  movapd %xmm10,%xmm1
  movsd  0x20(%rsp),%xmm7
  movsd  0x1a0(%rsp),%xmm0
  movsd  %xmm14,0x0(%rbp)
  mulsd  %xmm10,%xmm1
  movsd  %xmm4,0x8(%rbp)
  movsd  0x170(%rsp),%xmm6
  mulsd  0x180(%rsp),%xmm2
  movsd  %xmm3,0x18(%rbp)
  movsd  %xmm6,0x10(%rbp)
  movsd  0x8(%rbx),%xmm3
  mulsd  %xmm7,%xmm1
  mulsd  %xmm8,%xmm7
  subsd  %xmm1,%xmm0
  mulsd  %xmm4,%xmm0
  addsd  %xmm3,%xmm0
  divsd  %xmm10,%xmm0
  divsd  %xmm10,%xmm0
  addsd  %xmm7,%xmm0
  movsd  %xmm0,(%rbx)
  movsd  0x160(%rsp),%xmm0
  mulsd  %xmm8,%xmm0
  addsd  %xmm3,%xmm0
  movsd  %xmm0,0x8(%rbx)
  movsd  0x180(%rsp),%xmm0
  mulsd  %xmm8,%xmm0
  mulsd  0x1a0(%rsp),%xmm8
  addsd  0x18(%rbx),%xmm8
  subsd  %xmm2,%xmm0
  movsd  %xmm8,0x18(%rbx)
  movsd  %xmm0,0x10(%rbx)
L227:
  mov    0x118(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L466
  add    $0x128,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopl   0x0(%rax,%rax,1)
L137:
  movsd  %xmm3,0x18(%rbp)
  movapd %xmm9,%xmm1
  movsd  0x18(%rsp),%xmm3
  movsd  0x198(%rsp),%xmm0
  mulsd  %xmm9,%xmm1
  movsd  %xmm12,0x0(%rbp)
  movsd  0x168(%rsp),%xmm2
  movsd  %xmm4,0x8(%rbp)
  mulsd  %xmm8,%xmm7
  mulsd  0x178(%rsp),%xmm11
  movsd  %xmm2,0x10(%rbp)
  movsd  0x8(%rbx),%xmm2
  mulsd  %xmm3,%xmm1
  mulsd  %xmm8,%xmm3
  subsd  %xmm1,%xmm0
  mulsd  %xmm4,%xmm0
  addsd  %xmm2,%xmm0
  divsd  %xmm9,%xmm0
  divsd  %xmm9,%xmm0
  addsd  %xmm3,%xmm0
  movsd  %xmm0,(%rbx)
  movapd %xmm7,%xmm0
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x8(%rbx)
  movsd  0x178(%rsp),%xmm0
  mulsd  %xmm8,%xmm0
  mulsd  0x198(%rsp),%xmm8
  addsd  0x18(%rbx),%xmm8
  subsd  %xmm11,%xmm0
  movsd  %xmm8,0x18(%rbx)
  movsd  %xmm0,0x10(%rbx)
  jmp    L227
  nopw   0x0(%rax,%rax,1)
L215:
  movapd %xmm13,%xmm6
  movapd %xmm11,%xmm1
  movapd %xmm13,%xmm0
  movsd  D103(%rip),%xmm5
  subsd  D103(%rip),%xmm6
  lea    0x110(%rsp),%rdx
  movsd  0x190(%rsp),%xmm4
  mov    $0x1f4,%ecx
  addsd  %xmm13,%xmm5
  mov    $0x8,%eax
  lea    0x108(%rsp),%rsi
  movsd  %xmm14,0x68(%rsp)
  lea    0x100(%rsp),%rdi
  movsd  %xmm12,0x50(%rsp)
  movsd  %xmm6,(%rsp)
  divsd  %xmm5,%xmm6
  movsd  %xmm5,0x30(%rsp)
  movapd %xmm9,%xmm5
  movsd  %xmm8,0x60(%rsp)
  movsd  %xmm10,0x48(%rsp)
  movsd  %xmm9,0x40(%rsp)
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm2,0x38(%rsp)
  movsd  %xmm11,0x28(%rsp)
  movsd  %xmm13,0x1a8(%rsp)
  movsd  %xmm6,0x8(%rsp)
  movapd %xmm10,%xmm6
  call   <Riemann_solver_exact@plt>
  mov    0x110(%rsp),%r13d
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x28(%rsp),%xmm11
  movsd  0x38(%rsp),%xmm2
  test   %r13d,%r13d
  movsd  0x40(%rsp),%xmm9
  movsd  0x188(%rsp),%xmm3
  movsd  0x48(%rsp),%xmm10
  movsd  0x60(%rsp),%xmm8
  movsd  0x50(%rsp),%xmm12
  movsd  0x68(%rsp),%xmm14
  je     L442
  movsd  0x108(%rsp),%xmm4
  movsd  %xmm14,0x78(%rsp)
  movsd  %xmm2,0x88(%rsp)
  movsd  D103(%rip),%xmm2
  movapd %xmm4,%xmm5
  movsd  %xmm8,0x70(%rsp)
  divsd  %xmm3,%xmm5
  movsd  %xmm10,0x68(%rsp)
  movsd  %xmm11,0x80(%rsp)
  movsd  %xmm9,0x50(%rsp)
  movsd  %xmm4,0x60(%rsp)
  movsd  %xmm12,0x28(%rsp)
  divsd  %xmm13,%xmm2
  movapd %xmm5,%xmm0
  movsd  %xmm5,0x40(%rsp)
  movapd %xmm2,%xmm1
  call   <pow@plt>
  movsd  (%rsp),%xmm1
  movsd  D405(%rip),%xmm2
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x28(%rsp),%xmm12
  mulsd  %xmm2,%xmm1
  movsd  0x40(%rsp),%xmm5
  movsd  %xmm2,0x28(%rsp)
  mulsd  %xmm12,%xmm0
  movsd  %xmm12,0x38(%rsp)
  divsd  %xmm13,%xmm1
  movsd  %xmm0,0x48(%rsp)
  movapd %xmm5,%xmm0
  call   <pow@plt>
  movsd  0x50(%rsp),%xmm9
  movsd  0x80(%rsp),%xmm11
  mov    0x114(%rsp),%r14d
  movsd  0x38(%rsp),%xmm12
  mulsd  %xmm9,%xmm0
  movapd %xmm11,%xmm5
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x188(%rsp),%xmm3
  subsd  %xmm9,%xmm5
  movsd  0x60(%rsp),%xmm4
  movsd  0x68(%rsp),%xmm10
  movsd  0x70(%rsp),%xmm8
  movsd  0x78(%rsp),%xmm14
  movsd  0x88(%rsp),%xmm2
  movsd  %xmm0,0x40(%rsp)
  test   %r14d,%r14d
  je     L153
L508:
  movsd  D103(%rip),%xmm1
  movapd %xmm4,%xmm6
  divsd  0x190(%rsp),%xmm6
  movapd %xmm6,%xmm0
  movsd  %xmm3,0x188(%rsp)
  divsd  %xmm13,%xmm1
  movsd  %xmm5,0x70(%rsp)
  movsd  %xmm2,0xa0(%rsp)
  movsd  %xmm11,0x98(%rsp)
  movsd  %xmm12,0x90(%rsp)
  movsd  %xmm8,0x88(%rsp)
  movsd  %xmm10,0x80(%rsp)
  movsd  %xmm9,0x78(%rsp)
  movsd  %xmm4,0x68(%rsp)
  movsd  %xmm14,0x60(%rsp)
  movsd  %xmm13,0x1a8(%rsp)
  movsd  %xmm6,0x38(%rsp)
  call   <pow@plt>
  movsd  (%rsp),%xmm1
  mulsd  0x28(%rsp),%xmm1
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x60(%rsp),%xmm14
  movsd  0x38(%rsp),%xmm6
  mulsd  %xmm14,%xmm0
  movsd  %xmm14,0x50(%rsp)
  divsd  %xmm13,%xmm1
  movsd  %xmm0,0x60(%rsp)
  movapd %xmm6,%xmm0
  call   <pow@plt>
  movsd  0x50(%rsp),%xmm14
  movsd  0x80(%rsp),%xmm10
  movsd  0xa0(%rsp),%xmm2
  movsd  0x68(%rsp),%xmm4
  mulsd  %xmm10,%xmm0
  movsd  0x70(%rsp),%xmm5
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x78(%rsp),%xmm9
  movsd  0x88(%rsp),%xmm8
  movsd  0x90(%rsp),%xmm12
  movsd  0x98(%rsp),%xmm11
  movsd  0x188(%rsp),%xmm3
  movsd  %xmm0,0x38(%rsp)
  movapd %xmm2,%xmm0
  addsd  %xmm10,%xmm0
L160:
  comisd %xmm8,%xmm5
  movsd  %xmm5,(%r12)
  movsd  %xmm0,0x8(%r12)
  jbe    L136
  movsd  0x10(%rsp),%xmm7
  movsd  0x18(%rsp),%xmm6
  movapd %xmm11,%xmm1
  movq   D161(%rip),%xmm0
  movapd %xmm7,%xmm2
  mulsd  %xmm12,%xmm2
  xorpd  %xmm0,%xmm1
  xorpd  %xmm6,%xmm0
  mulsd  %xmm11,%xmm0
  subsd  %xmm2,%xmm0
  movapd %xmm6,%xmm2
  mulsd  %xmm8,%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x198(%rsp),%xmm2
  divsd  %xmm12,%xmm2
  movsd  %xmm0,(%rbx)
  movapd %xmm7,%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  0x178(%rsp),%xmm1
  subsd  %xmm2,%xmm0
  movapd %xmm7,%xmm2
  mulsd  %xmm8,%xmm2
  addsd  %xmm2,%xmm0
  movsd  0x168(%rsp),%xmm2
  movsd  %xmm0,0x8(%rbx)
  movsd  0x178(%rsp),%xmm0
  mulsd  %xmm8,%xmm0
  mulsd  0x198(%rsp),%xmm8
  addsd  %xmm0,%xmm1
  movapd %xmm12,%xmm0
  mulsd  %xmm9,%xmm0
  movsd  %xmm1,0x10(%rbx)
  movsd  0x198(%rsp),%xmm1
  mulsd  %xmm11,%xmm1
  mulsd  %xmm9,%xmm0
  mulsd  %xmm7,%xmm0
  addsd  %xmm1,%xmm0
  subsd  %xmm0,%xmm8
  movsd  %xmm8,0x18(%rbx)
  movsd  %xmm12,0x0(%rbp)
  movsd  %xmm11,0x8(%rbp)
  movsd  %xmm2,0x10(%rbp)
  movsd  %xmm3,0x18(%rbp)
  jmp    L227
  nopl   0x0(%rax,%rax,1)
L442:
  movsd  0x108(%rsp),%xmm4
  movsd  0x8(%rsp),%xmm7
  movapd %xmm7,%xmm0
  mulsd  %xmm3,%xmm0
  mulsd  %xmm4,%xmm7
  addsd  %xmm4,%xmm0
  movapd %xmm7,%xmm1
  pxor   %xmm7,%xmm7
  addsd  %xmm3,%xmm1
  mulsd  %xmm12,%xmm0
  movapd %xmm0,%xmm6
  movapd %xmm4,%xmm0
  divsd  %xmm1,%xmm6
  mulsd  %xmm13,%xmm0
  divsd  %xmm6,%xmm0
  movsd  %xmm6,0x48(%rsp)
  ucomisd %xmm0,%xmm7
  ja     L537
  sqrtsd %xmm0,%xmm0
  movsd  %xmm0,0x40(%rsp)
L24:
  movapd %xmm4,%xmm0
  movsd  D405(%rip),%xmm7
  pxor   %xmm6,%xmm6
  divsd  %xmm3,%xmm0
  movsd  %xmm7,0x28(%rsp)
  mulsd  0x30(%rsp),%xmm0
  addsd  (%rsp),%xmm0
  mulsd  %xmm7,%xmm0
  divsd  %xmm13,%xmm0
  ucomisd %xmm0,%xmm6
  ja     L66
  sqrtsd %xmm0,%xmm0
L230:
  mulsd  %xmm9,%xmm0
  mov    0x114(%rsp),%r14d
  movapd %xmm11,%xmm5
  subsd  %xmm0,%xmm5
  test   %r14d,%r14d
  jne    L508
L153:
  movsd  0x190(%rsp),%xmm1
  movsd  0x8(%rsp),%xmm7
  movsd  0x190(%rsp),%xmm0
  mulsd  %xmm7,%xmm1
  mulsd  %xmm4,%xmm7
  addsd  %xmm4,%xmm1
  addsd  %xmm7,%xmm0
  mulsd  %xmm14,%xmm1
  movapd %xmm1,%xmm7
  divsd  %xmm0,%xmm7
  movapd %xmm13,%xmm0
  mulsd  %xmm4,%xmm0
  divsd  %xmm7,%xmm0
  movsd  %xmm7,0x60(%rsp)
  pxor   %xmm7,%xmm7
  ucomisd %xmm0,%xmm7
  ja     L455
  sqrtsd %xmm0,%xmm0
  movsd  %xmm0,0x38(%rsp)
L133:
  movapd %xmm4,%xmm0
  pxor   %xmm7,%xmm7
  divsd  0x190(%rsp),%xmm0
  mulsd  0x30(%rsp),%xmm0
  addsd  (%rsp),%xmm0
  mulsd  0x28(%rsp),%xmm0
  divsd  %xmm13,%xmm0
  ucomisd %xmm0,%xmm7
  ja     L597
  sqrtsd %xmm0,%xmm0
L578:
  mulsd  %xmm10,%xmm0
  addsd  %xmm2,%xmm0
  jmp    L160
  nopl   (%rax)
L136:
  comisd %xmm0,%xmm8
  ja     L424
  movsd  0x100(%rsp),%xmm5
  movsd  %xmm5,0x68(%rsp)
  test   %r13d,%r13d
  je     L577
  subsd  0x40(%rsp),%xmm5
  comisd %xmm8,%xmm5
  ja     L28
  test   %r14d,%r14d
  je     L51
  movsd  0x38(%rsp),%xmm0
  addsd  0x68(%rsp),%xmm0
  comisd %xmm0,%xmm8
  ja     L128
L51:
  movsd  %xmm4,0xa8(%rsp)
  movsd  0x40(%rsp),%xmm4
  movsd  D103(%rip),%xmm0
  divsd  0x48(%rsp),%xmm0
  movsd  0x28(%rsp),%xmm15
  divsd  0x8(%rsp),%xmm15
  movapd %xmm15,%xmm1
  movsd  %xmm13,0x1a8(%rsp)
  movsd  %xmm11,0xd0(%rsp)
  divsd  %xmm4,%xmm0
  movsd  %xmm14,0xc8(%rsp)
  movsd  %xmm8,0xb8(%rsp)
  movsd  %xmm10,0xb0(%rsp)
  movsd  %xmm2,0xd8(%rsp)
  movsd  %xmm12,0xc0(%rsp)
  movsd  %xmm15,0xa0(%rsp)
  movsd  %xmm9,0x98(%rsp)
  movsd  %xmm3,0x188(%rsp)
  divsd  %xmm9,%xmm4
  movsd  %xmm0,0x78(%rsp)
  movsd  %xmm4,0x80(%rsp)
  movapd %xmm4,%xmm0
  call   <pow@plt>
  movsd  0x8(%rsp),%xmm3
  movsd  D103(%rip),%xmm5
  movsd  0x80(%rsp),%xmm7
  movsd  %xmm0,0x50(%rsp)
  addsd  %xmm3,%xmm5
  movsd  %xmm7,0x88(%rsp)
  movapd %xmm7,%xmm0
  movapd %xmm5,%xmm1
  movsd  %xmm5,0x70(%rsp)
  divsd  %xmm3,%xmm1
  call   <pow@plt>
  movsd  0x70(%rsp),%xmm5
  movsd  0x50(%rsp),%xmm1
  movsd  0x98(%rsp),%xmm9
  movsd  0x8(%rsp),%xmm3
  movsd  0xc0(%rsp),%xmm12
  mulsd  %xmm5,%xmm1
  movsd  0x18(%rsp),%xmm5
  mulsd  %xmm3,%xmm0
  movapd %xmm3,%xmm2
  movsd  0xa0(%rsp),%xmm15
  movsd  0x88(%rsp),%xmm7
  mulsd  %xmm9,%xmm5
  addsd  %xmm3,%xmm2
  movsd  %xmm9,0x70(%rsp)
  movsd  %xmm12,0x50(%rsp)
  movsd  %xmm2,0x90(%rsp)
  addsd  %xmm0,%xmm1
  movsd  D103(%rip),%xmm0
  movsd  %xmm5,0x80(%rsp)
  movapd %xmm5,%xmm6
  mulsd  %xmm9,%xmm6
  addsd  %xmm2,%xmm0
  divsd  %xmm0,%xmm1
  movsd  0x198(%rsp),%xmm0
  subsd  %xmm6,%xmm0
  divsd  (%rsp),%xmm0
  divsd  %xmm12,%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm15,%xmm1
  movq   %xmm0,%r12
  movapd %xmm7,%xmm0
  call   <pow@plt>
  movsd  0x70(%rsp),%xmm9
  movsd  0x1a8(%rsp),%xmm13
  movq   %r12,%xmm4
  movsd  0x198(%rsp),%xmm6
  movsd  0x50(%rsp),%xmm12
  movapd %xmm0,%xmm1
  movsd  0x80(%rsp),%xmm5
  mulsd  %xmm9,%xmm1
  mov    D103(%rip),%rax
  mulsd  %xmm13,%xmm6
  movq   D161(%rip),%xmm3
  mov    D52(%rip),%r12
  movsd  0xb0(%rsp),%xmm10
  mov    %rax,0x70(%rsp)
  movsd  0xb8(%rsp),%xmm8
  movaps %xmm3,0x50(%rsp)
  movsd  0xc8(%rsp),%xmm14
  movsd  0xd0(%rsp),%xmm11
  movsd  0xd8(%rsp),%xmm2
  movsd  0x188(%rsp),%xmm3
  divsd  %xmm9,%xmm6
  subsd  %xmm5,%xmm6
  divsd  (%rsp),%xmm6
  movapd %xmm6,%xmm5
  divsd  %xmm12,%xmm5
  addsd  0x10(%rsp),%xmm5
  movapd %xmm5,%xmm0
  mulsd  %xmm1,%xmm0
  subsd  %xmm0,%xmm4
  movsd  %xmm4,0x80(%rsp)
  movsd  0xa8(%rsp),%xmm4
L414:
  movsd  %xmm13,0x1a8(%rsp)
  test   %r14d,%r14d
  je     L165
  movsd  %xmm3,0x188(%rsp)
  movsd  0x38(%rsp),%xmm3
  movq   %r12,%xmm5
  divsd  0x60(%rsp),%xmm5
  movsd  0x28(%rsp),%xmm15
  divsd  0x8(%rsp),%xmm15
  movapd %xmm15,%xmm1
  movsd  %xmm11,0xf0(%rsp)
  movsd  %xmm12,0xe0(%rsp)
  divsd  %xmm3,%xmm5
  movsd  %xmm8,0xd8(%rsp)
  movsd  %xmm9,0xd0(%rsp)
  movsd  %xmm4,0xc8(%rsp)
  movsd  %xmm14,0xe8(%rsp)
  movsd  %xmm15,0xc0(%rsp)
  movsd  %xmm10,0xb8(%rsp)
  movsd  %xmm2,0xf8(%rsp)
  divsd  %xmm10,%xmm3
  movsd  %xmm5,0x88(%rsp)
  movsd  %xmm3,0xa8(%rsp)
  movapd %xmm3,%xmm0
  call   <pow@plt>
  movsd  0x8(%rsp),%xmm2
  movsd  D103(%rip),%xmm5
  movsd  0xa8(%rsp),%xmm7
  movsd  %xmm0,0x98(%rsp)
  addsd  %xmm2,%xmm5
  movsd  %xmm7,0xb0(%rsp)
  movapd %xmm7,%xmm0
  movsd  %xmm5,0xa0(%rsp)
  movapd %xmm5,%xmm1
  divsd  %xmm2,%xmm1
  call   <pow@plt>
  mulsd  0x8(%rsp),%xmm0
  movsd  0xa0(%rsp),%xmm5
  movsd  0x98(%rsp),%xmm1
  movsd  0xb8(%rsp),%xmm10
  movsd  0xe8(%rsp),%xmm14
  movsd  0xc0(%rsp),%xmm15
  movsd  0xb0(%rsp),%xmm7
  mulsd  %xmm5,%xmm1
  movsd  0x20(%rsp),%xmm5
  movsd  %xmm10,0xa0(%rsp)
  movsd  %xmm14,0x98(%rsp)
  mulsd  %xmm10,%xmm5
  addsd  %xmm0,%xmm1
  movsd  D103(%rip),%xmm0
  addsd  0x90(%rsp),%xmm0
  movsd  %xmm5,0xa8(%rsp)
  movapd %xmm5,%xmm6
  mulsd  %xmm10,%xmm6
  divsd  %xmm0,%xmm1
  movsd  0x1a0(%rsp),%xmm0
  subsd  %xmm6,%xmm0
  divsd  (%rsp),%xmm0
  divsd  %xmm14,%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm15,%xmm1
  movsd  %xmm0,0x90(%rsp)
  movapd %xmm7,%xmm0
  call   <pow@plt>
  movsd  0x1a8(%rsp),%xmm13
  mulsd  0x1a0(%rsp),%xmm13
  movsd  0xa0(%rsp),%xmm10
  movsd  0xa8(%rsp),%xmm5
  movsd  0x98(%rsp),%xmm14
  movsd  0x160(%rsp),%xmm1
  movsd  0xc8(%rsp),%xmm4
  mulsd  %xmm10,%xmm0
  movsd  0xd0(%rsp),%xmm9
  movsd  0xd8(%rsp),%xmm8
  movsd  0xe0(%rsp),%xmm12
  movsd  0xf0(%rsp),%xmm11
  divsd  %xmm10,%xmm13
  movsd  0xf8(%rsp),%xmm2
  movsd  0x188(%rsp),%xmm3
  subsd  %xmm5,%xmm13
  divsd  (%rsp),%xmm13
  divsd  %xmm14,%xmm13
  movsd  0x78(%rsp),%xmm5
  subsd  %xmm13,%xmm1
  mulsd  %xmm0,%xmm1
  movsd  0x80(%rsp),%xmm0
  addsd  0x90(%rsp),%xmm1
L449:
  movsd  0x88(%rsp),%xmm13
  movsd  0x70(%rsp),%xmm6
  movsd  0x8(%rsp),%xmm15
  mulsd  %xmm13,%xmm6
  movapd %xmm15,%xmm7
  mulsd  %xmm15,%xmm7
  subsd  %xmm5,%xmm6
  movsd  0x80(%rsp),%xmm5
  mulsd  %xmm13,%xmm5
  movsd  0x78(%rsp),%xmm13
  mulsd  %xmm1,%xmm13
  mulsd  0x70(%rsp),%xmm1
  subsd  %xmm13,%xmm5
  movsd  0x68(%rsp),%xmm13
  subsd  %xmm0,%xmm1
  movapd %xmm13,%xmm0
  comisd %xmm13,%xmm8
  subsd  %xmm8,%xmm0
  divsd  %xmm6,%xmm5
  divsd  %xmm6,%xmm1
  movapd %xmm1,%xmm6
  mulsd  %xmm0,%xmm6
  jbe    L181
  movsd  0x60(%rsp),%xmm3
  movsd  0x38(%rsp),%xmm11
  movsd  %xmm4,0x18(%rbp)
  movsd  0x170(%rsp),%xmm12
  movsd  %xmm13,0x8(%rbp)
  divsd  %xmm3,%xmm6
  movsd  %xmm3,0x0(%rbp)
  movsd  %xmm12,0x10(%rbp)
  divsd  %xmm11,%xmm6
  divsd  %xmm11,%xmm6
  addsd  %xmm5,%xmm6
  movsd  %xmm6,0x8(%rbx)
  movapd %xmm0,%xmm6
  mulsd  %xmm3,%xmm6
  movapd %xmm6,%xmm3
  movsd  %xmm6,0x18(%rsp)
  mulsd  %xmm5,%xmm3
  addsd  %xmm1,%xmm3
  movsd  %xmm3,0x18(%rbx)
  movsd  %xmm3,0x10(%rsp)
  test   %r14d,%r14d
  je     L192
  movsd  D103(%rip),%xmm1
  movapd %xmm11,%xmm0
  movsd  %xmm14,0x28(%rsp)
  divsd  %xmm10,%xmm0
  movsd  %xmm8,0x8(%rsp)
  addsd  %xmm15,%xmm1
  movsd  %xmm10,(%rsp)
  divsd  %xmm15,%xmm1
  call   <pow@plt>
  movsd  (%rsp),%xmm10
  movsd  0x20(%rsp),%xmm3
  movapd %xmm0,%xmm2
  movsd  0x18(%rsp),%xmm6
  movsd  0x1a0(%rsp),%xmm1
  mulsd  %xmm10,%xmm3
  movsd  0x28(%rsp),%xmm14
  movsd  0x8(%rsp),%xmm8
  mulsd  %xmm2,%xmm6
  mulsd  0x180(%rsp),%xmm8
  movapd %xmm3,%xmm0
  movsd  0x10(%rsp),%xmm3
  mulsd  %xmm10,%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x38(%rsp),%xmm0
  mulsd  %xmm6,%xmm1
  divsd  %xmm14,%xmm1
  addsd  %xmm3,%xmm1
  divsd  %xmm0,%xmm1
  divsd  %xmm0,%xmm1
  movsd  %xmm1,(%rbx)
  movsd  0x8(%rbp),%xmm0
  xorpd  0x50(%rsp),%xmm0
  mulsd  0x180(%rsp),%xmm0
  mulsd  0x0(%rbp),%xmm0
  divsd  %xmm14,%xmm0
  addsd  %xmm8,%xmm0
  movsd  %xmm0,0x10(%rbx)
  jmp    L227
  nopl   0x0(%rax)
L424:
  movq   D161(%rip),%xmm0
  movsd  0x20(%rsp),%xmm4
  movapd %xmm2,%xmm1
  movsd  0x160(%rsp),%xmm3
  xorpd  %xmm0,%xmm1
  xorpd  %xmm4,%xmm0
  mulsd  %xmm14,%xmm3
  mulsd  %xmm2,%xmm0
  subsd  %xmm3,%xmm0
  movapd %xmm4,%xmm3
  mulsd  %xmm8,%xmm3
  addsd  %xmm3,%xmm0
  movsd  0x1a0(%rsp),%xmm3
  divsd  %xmm14,%xmm3
  movsd  %xmm0,(%rbx)
  movsd  0x160(%rsp),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  0x180(%rsp),%xmm1
  subsd  %xmm3,%xmm0
  movsd  0x160(%rsp),%xmm3
  mulsd  %xmm8,%xmm3
  addsd  %xmm3,%xmm0
  movsd  0x170(%rsp),%xmm3
  movsd  %xmm0,0x8(%rbx)
  movsd  0x180(%rsp),%xmm0
  mulsd  %xmm8,%xmm0
  mulsd  0x1a0(%rsp),%xmm8
  addsd  %xmm0,%xmm1
  movapd %xmm14,%xmm0
  mulsd  %xmm10,%xmm0
  movsd  %xmm1,0x10(%rbx)
  movsd  0x1a0(%rsp),%xmm1
  mulsd  %xmm2,%xmm1
  mulsd  %xmm10,%xmm0
  mulsd  0x160(%rsp),%xmm0
  addsd  %xmm1,%xmm0
  subsd  %xmm0,%xmm8
  movsd  %xmm8,0x18(%rbx)
  movsd  %xmm3,0x10(%rbp)
  movsd  0x190(%rsp),%xmm3
  movsd  %xmm14,0x0(%rbp)
  movsd  %xmm2,0x8(%rbp)
  movsd  %xmm3,0x18(%rbp)
  jmp    L227
  nopl   0x0(%rax)
L577:
  test   %r14d,%r14d
  jne    L240
L542:
  movsd  0x30(%rsp),%xmm0
  movsd  (%rsp),%xmm1
  pxor   %xmm7,%xmm7
  mulsd  %xmm3,%xmm0
  mulsd  %xmm4,%xmm1
  addsd  %xmm1,%xmm0
  mulsd  0x28(%rsp),%xmm0
  divsd  0x48(%rsp),%xmm0
  ucomisd %xmm0,%xmm7
  ja     L494
  sqrtsd %xmm0,%xmm0
  movq   %xmm0,%r15
L282:
  movsd  (%rsp),%xmm5
  movsd  0x30(%rsp),%xmm1
  movq   %r15,%xmm6
  movq   D161(%rip),%xmm7
  mulsd  %xmm3,%xmm5
  mulsd  %xmm4,%xmm1
  xorpd  %xmm7,%xmm6
  movaps %xmm7,0x50(%rsp)
  pxor   %xmm7,%xmm7
  movq   %xmm6,%r12
  addsd  %xmm5,%xmm1
  mulsd  0x28(%rsp),%xmm1
  divsd  %xmm12,%xmm1
  ucomisd %xmm1,%xmm7
  ja     L618
  sqrtsd %xmm1,%xmm1
  movsd  %xmm1,0x80(%rsp)
L437:
  movsd  0x80(%rsp),%xmm7
  movapd 0x50(%rsp),%xmm6
  movsd  0x8(%rsp),%xmm5
  movsd  D103(%rip),%xmm0
  xorpd  %xmm7,%xmm6
  movsd  %xmm6,0x88(%rsp)
  movapd %xmm5,%xmm6
  subsd  %xmm5,%xmm0
  mulsd  %xmm3,%xmm6
  movapd %xmm6,%xmm15
  addsd  %xmm4,%xmm15
  movapd %xmm15,%xmm7
  mulsd  %xmm12,%xmm7
  divsd  %xmm7,%xmm0
  pxor   %xmm7,%xmm7
  ucomisd %xmm0,%xmm7
  ja     L588
  sqrtsd %xmm0,%xmm0
L46:
  movsd  0x8(%rsp),%xmm5
  movsd  D103(%rip),%xmm1
  mulsd  0x28(%rsp),%xmm0
  movapd %xmm5,%xmm7
  addsd  %xmm5,%xmm7
  movsd  %xmm7,0x90(%rsp)
  addsd  %xmm7,%xmm1
  movapd %xmm1,%xmm7
  movapd %xmm0,%xmm1
  xorpd  0x50(%rsp),%xmm1
  mulsd  %xmm3,%xmm7
  movapd %xmm1,%xmm5
  addsd  %xmm4,%xmm7
  mulsd  %xmm0,%xmm7
  movsd  0x8(%rsp),%xmm0
  addsd  D21(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  divsd  %xmm15,%xmm7
  addsd  %xmm0,%xmm6
  movapd %xmm4,%xmm0
  subsd  %xmm3,%xmm0
  mulsd  %xmm1,%xmm6
  movsd  D103(%rip),%xmm1
  mulsd  %xmm0,%xmm5
  movsd  0x48(%rsp),%xmm0
  divsd  %xmm15,%xmm6
  movq   %r12,%xmm15
  mov    D52(%rip),%r12
  mulsd  %xmm0,%xmm15
  mulsd  %xmm7,%xmm15
  subsd  %xmm15,%xmm1
  movsd  %xmm1,0x70(%rsp)
  movsd  0x40(%rsp),%xmm1
  mulsd  %xmm1,%xmm0
  divsd  %xmm12,%xmm5
  movapd %xmm0,%xmm15
  movq   %r15,%xmm0
  mulsd  %xmm1,%xmm15
  movsd  0x18(%rsp),%xmm1
  divsd  %xmm15,%xmm0
  addsd  %xmm7,%xmm0
  movsd  0x80(%rsp),%xmm7
  movsd  %xmm0,0x78(%rsp)
  movapd %xmm9,%xmm0
  mulsd  %xmm9,%xmm0
  mulsd  %xmm6,%xmm0
  mulsd  0x88(%rsp),%xmm6
  addsd  %xmm5,%xmm0
  mulsd  %xmm12,%xmm0
  subsd  %xmm7,%xmm0
  mulsd  %xmm5,%xmm7
  mulsd  0x10(%rsp),%xmm0
  mulsd  %xmm7,%xmm1
  addsd  %xmm1,%xmm0
  movq   %r12,%xmm1
  divsd  %xmm12,%xmm1
  subsd  %xmm6,%xmm1
  mulsd  0x198(%rsp),%xmm1
  addsd  %xmm1,%xmm0
  movsd  %xmm0,0x80(%rsp)
  jmp    L414
  nopl   0x0(%rax)
L240:
  movsd  0x38(%rsp),%xmm0
  addsd  0x68(%rsp),%xmm0
  comisd %xmm0,%xmm8
  jbe    L542
L128:
  movapd %xmm10,%xmm0
  movsd  (%rsp),%xmm6
  movapd %xmm8,%xmm3
  movapd %xmm13,%xmm1
  subsd  %xmm8,%xmm0
  addsd  %xmm13,%xmm1
  movsd  %xmm14,0x68(%rsp)
  movsd  %xmm8,0x50(%rsp)
  movsd  %xmm10,0x10(%rsp)
  addsd  %xmm0,%xmm0
  divsd  %xmm6,%xmm1
  movsd  %xmm13,0x1a8(%rsp)
  divsd  %xmm6,%xmm0
  subsd  %xmm0,%xmm2
  mulsd  0x8(%rsp),%xmm2
  subsd  %xmm2,%xmm3
  movsd  %xmm2,0x8(%rbp)
  movapd %xmm3,%xmm4
  movsd  %xmm3,0x18(%rsp)
  divsd  %xmm10,%xmm4
  movapd %xmm4,%xmm0
  movsd  %xmm4,0x30(%rsp)
  call   <pow@plt>
  movsd  0x18(%rsp),%xmm3
  mulsd  0x190(%rsp),%xmm0
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x8(%rsp),%xmm2
  movsd  %xmm3,0x60(%rsp)
  movsd  0x10(%rsp),%xmm10
  movsd  0x20(%rsp),%xmm5
  movsd  D103(%rip),%xmm4
  movsd  0x1a0(%rsp),%xmm1
  mulsd  %xmm10,%xmm5
  movsd  %xmm10,0x40(%rsp)
  movsd  %xmm0,0x18(%rbp)
  mulsd  %xmm13,%xmm0
  addsd  %xmm2,%xmm4
  movsd  %xmm4,0x18(%rsp)
  movsd  0x30(%rsp),%xmm4
  movsd  %xmm5,0x48(%rsp)
  divsd  %xmm3,%xmm0
  divsd  %xmm3,%xmm0
  movsd  0x28(%rsp),%xmm3
  movsd  %xmm4,0x28(%rsp)
  divsd  %xmm2,%xmm3
  movsd  %xmm0,0x0(%rbp)
  movapd %xmm5,%xmm0
  mulsd  %xmm10,%xmm0
  subsd  %xmm0,%xmm1
  movapd %xmm4,%xmm0
  movsd  %xmm1,0x10(%rsp)
  movapd %xmm3,%xmm1
  movsd  %xmm3,0x38(%rsp)
  call   <pow@plt>
  movsd  0x28(%rsp),%xmm4
  movsd  0x18(%rsp),%xmm5
  divsd  0x8(%rsp),%xmm5
  movsd  %xmm0,0x20(%rsp)
  movapd %xmm5,%xmm1
  movapd %xmm4,%xmm0
  movsd  %xmm5,0x30(%rsp)
  call   <pow@plt>
  movsd  0x38(%rsp),%xmm6
  movsd  0x28(%rsp),%xmm4
  movq   %xmm0,%r12
  movapd %xmm6,%xmm1
  movapd %xmm4,%xmm0
  call   <pow@plt>
  movsd  0x8(%rsp),%xmm2
  movsd  0x18(%rsp),%xmm1
  movapd %xmm0,%xmm6
  movq   %r12,%xmm0
  movsd  (%rsp),%xmm4
  movsd  0x68(%rsp),%xmm14
  mulsd  0x20(%rsp),%xmm1
  movsd  0x40(%rsp),%xmm10
  mulsd  %xmm2,%xmm0
  movsd  0x50(%rsp),%xmm8
  movsd  0x1a8(%rsp),%xmm13
  movsd  %xmm14,0x18(%rsp)
  mulsd  %xmm10,%xmm6
  movsd  0x30(%rsp),%xmm5
  addsd  %xmm1,%xmm0
  movapd %xmm2,%xmm1
  addsd  %xmm2,%xmm1
  addsd  D103(%rip),%xmm1
  movsd  0x48(%rsp),%xmm2
  divsd  %xmm1,%xmm0
  movsd  0x10(%rsp),%xmm1
  divsd  %xmm4,%xmm1
  divsd  %xmm14,%xmm1
  mulsd  %xmm0,%xmm1
  movsd  0x1a0(%rsp),%xmm0
  mulsd  %xmm13,%xmm0
  divsd  %xmm10,%xmm0
  subsd  %xmm2,%xmm0
  movsd  0x160(%rsp),%xmm2
  divsd  %xmm4,%xmm0
  movsd  0x28(%rsp),%xmm4
  divsd  %xmm14,%xmm0
  subsd  %xmm0,%xmm2
  movapd %xmm1,%xmm0
  movapd %xmm5,%xmm1
  mulsd  %xmm6,%xmm2
  addsd  %xmm2,%xmm0
  movsd  %xmm0,0x8(%rbx)
  movsd  0x8(%rbp),%xmm2
  subsd  %xmm8,%xmm2
  mulsd  0x0(%rbp),%xmm2
  mulsd  %xmm0,%xmm2
  movsd  %xmm2,0x18(%rbx)
  movsd  0x8(%rbp),%xmm0
  movsd  %xmm2,0x8(%rsp)
  subsd  %xmm8,%xmm0
  mulsd  0x0(%rbp),%xmm0
  movsd  %xmm0,(%rsp)
  movapd %xmm4,%xmm0
  call   <pow@plt>
  mulsd  (%rsp),%xmm0
  movsd  0x18(%rsp),%xmm14
  mulsd  0x10(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  movsd  0x60(%rsp),%xmm3
  divsd  %xmm14,%xmm0
  addsd  %xmm2,%xmm0
  movsd  0x170(%rsp),%xmm2
  divsd  %xmm3,%xmm0
  divsd  %xmm3,%xmm0
  movsd  %xmm0,(%rbx)
  movsd  0x8(%rbp),%xmm0
  xorpd  D161(%rip),%xmm0
  mulsd  0x178(%rsp),%xmm0
  movsd  %xmm2,0x10(%rbp)
  mulsd  0x0(%rbp),%xmm0
  divsd  %xmm14,%xmm0
  movsd  %xmm0,0x10(%rbx)
  jmp    L227
  nopl   0x0(%rax,%rax,1)
L28:
  movapd %xmm8,%xmm4
  movapd %xmm13,%xmm1
  movsd  %xmm3,0x188(%rsp)
  movsd  (%rsp),%xmm3
  addsd  %xmm9,%xmm4
  addsd  %xmm13,%xmm1
  movsd  %xmm12,0x70(%rsp)
  movsd  %xmm8,0x68(%rsp)
  movsd  %xmm9,0x20(%rsp)
  addsd  %xmm4,%xmm4
  divsd  %xmm3,%xmm1
  movsd  %xmm13,0x1a8(%rsp)
  divsd  %xmm3,%xmm4
  addsd  %xmm11,%xmm4
  mulsd  0x8(%rsp),%xmm4
  movsd  %xmm4,0x8(%rbp)
  subsd  %xmm8,%xmm4
  movapd %xmm4,%xmm5
  movsd  %xmm4,0x38(%rsp)
  divsd  %xmm9,%xmm5
  movapd %xmm5,%xmm0
  movsd  %xmm5,0x30(%rsp)
  call   <pow@plt>
  movsd  0x38(%rsp),%xmm4
  movsd  0x188(%rsp),%xmm3
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x8(%rsp),%xmm2
  mulsd  %xmm3,%xmm0
  movsd  0x28(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm9
  movsd  %xmm4,0x50(%rsp)
  movsd  0x18(%rsp),%xmm6
  movsd  0x30(%rsp),%xmm5
  divsd  %xmm2,%xmm3
  movsd  %xmm9,0x48(%rsp)
  movsd  0x198(%rsp),%xmm1
  mulsd  %xmm9,%xmm6
  movsd  %xmm0,0x18(%rbp)
  mulsd  %xmm13,%xmm0
  movsd  %xmm6,0x60(%rsp)
  divsd  %xmm4,%xmm0
  movsd  %xmm3,0x40(%rsp)
  divsd  %xmm4,%xmm0
  movsd  D103(%rip),%xmm4
  addsd  %xmm2,%xmm4
  movsd  %xmm4,0x20(%rsp)
  movsd  %xmm0,0x0(%rbp)
  movapd %xmm6,%xmm0
  mulsd  %xmm9,%xmm0
  subsd  %xmm0,%xmm1
  movapd %xmm5,%xmm0
  movsd  %xmm1,0x18(%rsp)
  movapd %xmm3,%xmm1
  call   <pow@plt>
  movsd  0x30(%rsp),%xmm5
  movsd  0x20(%rsp),%xmm6
  divsd  0x8(%rsp),%xmm6
  movsd  %xmm0,0x28(%rsp)
  movapd %xmm6,%xmm1
  movapd %xmm5,%xmm0
  movsd  %xmm6,0x38(%rsp)
  call   <pow@plt>
  movsd  0x40(%rsp),%xmm3
  movsd  0x30(%rsp),%xmm5
  movq   %xmm0,%r12
  movapd %xmm3,%xmm1
  movapd %xmm5,%xmm0
  call   <pow@plt>
  movsd  0x20(%rsp),%xmm6
  mulsd  0x28(%rsp),%xmm6
  movsd  0x8(%rsp),%xmm2
  movapd %xmm0,%xmm3
  movsd  (%rsp),%xmm4
  movsd  0x70(%rsp),%xmm12
  movsd  0x48(%rsp),%xmm9
  movapd %xmm2,%xmm1
  movsd  0x68(%rsp),%xmm8
  movsd  0x1a8(%rsp),%xmm13
  addsd  %xmm2,%xmm1
  addsd  D103(%rip),%xmm1
  mulsd  0x198(%rsp),%xmm13
  movsd  %xmm12,0x20(%rsp)
  mulsd  %xmm9,%xmm3
  movapd %xmm6,%xmm0
  movq   %r12,%xmm6
  movsd  0x30(%rsp),%xmm5
  mulsd  %xmm2,%xmm6
  movsd  0x60(%rsp),%xmm2
  addsd  %xmm6,%xmm0
  movsd  0x38(%rsp),%xmm6
  divsd  %xmm1,%xmm0
  movsd  0x18(%rsp),%xmm1
  divsd  %xmm4,%xmm1
  divsd  %xmm12,%xmm1
  mulsd  %xmm1,%xmm0
  movapd %xmm13,%xmm1
  divsd  %xmm9,%xmm1
  subsd  %xmm2,%xmm1
  divsd  %xmm4,%xmm1
  divsd  %xmm12,%xmm1
  addsd  0x10(%rsp),%xmm1
  mulsd  %xmm3,%xmm1
  subsd  %xmm1,%xmm0
  movapd %xmm6,%xmm1
  movsd  %xmm0,0x8(%rbx)
  movsd  0x8(%rbp),%xmm2
  subsd  %xmm8,%xmm2
  mulsd  0x0(%rbp),%xmm2
  mulsd  %xmm0,%xmm2
  movsd  %xmm2,0x18(%rbx)
  movsd  0x8(%rbp),%xmm0
  movsd  %xmm2,0x8(%rsp)
  subsd  %xmm8,%xmm0
  mulsd  0x0(%rbp),%xmm0
  movsd  %xmm0,(%rsp)
  movapd %xmm5,%xmm0
  call   <pow@plt>
  mulsd  (%rsp),%xmm0
  movsd  0x20(%rsp),%xmm12
  mulsd  0x18(%rsp),%xmm0
  movsd  0x8(%rsp),%xmm2
  movsd  0x50(%rsp),%xmm4
  divsd  %xmm12,%xmm0
  addsd  %xmm2,%xmm0
  movsd  0x168(%rsp),%xmm2
  divsd  %xmm4,%xmm0
  divsd  %xmm4,%xmm0
  movsd  %xmm0,(%rbx)
  movsd  0x8(%rbp),%xmm0
  xorpd  D161(%rip),%xmm0
  mulsd  0x178(%rsp),%xmm0
  movsd  %xmm2,0x10(%rbp)
  mulsd  0x0(%rbp),%xmm0
  divsd  %xmm12,%xmm0
  movsd  %xmm0,0x10(%rbx)
  jmp    L227
  nopw   0x0(%rax,%rax,1)
L181:
  movsd  0x48(%rsp),%xmm14
  movsd  0x68(%rsp),%xmm2
  movsd  %xmm4,0x18(%rbp)
  movsd  0x40(%rsp),%xmm15
  divsd  %xmm14,%xmm6
  movsd  %xmm2,0x8(%rbp)
  movsd  0x168(%rsp),%xmm2
  movsd  %xmm14,0x0(%rbp)
  movsd  %xmm2,0x10(%rbp)
  movapd %xmm0,%xmm2
  mulsd  %xmm14,%xmm2
  movsd  %xmm2,0x38(%rsp)
  divsd  %xmm15,%xmm6
  divsd  %xmm15,%xmm6
  addsd  %xmm5,%xmm6
  movsd  %xmm6,0x8(%rbx)
  movapd %xmm2,%xmm6
  mulsd  %xmm5,%xmm6
  addsd  %xmm1,%xmm6
  movsd  %xmm6,0x18(%rbx)
  movsd  %xmm6,0x20(%rsp)
  test   %r13d,%r13d
  je     L202
  movsd  0x8(%rsp),%xmm2
  movsd  D103(%rip),%xmm1
  movapd %xmm15,%xmm0
  movsd  %xmm12,0x28(%rsp)
  divsd  %xmm9,%xmm0
  movsd  %xmm8,0x10(%rsp)
  addsd  %xmm2,%xmm1
  movsd  %xmm9,(%rsp)
  divsd  %xmm2,%xmm1
  call   <pow@plt>
  movsd  (%rsp),%xmm9
  movsd  0x18(%rsp),%xmm4
  movapd %xmm0,%xmm3
  movsd  0x38(%rsp),%xmm2
  movsd  0x198(%rsp),%xmm1
  mulsd  %xmm9,%xmm4
  movsd  0x28(%rsp),%xmm12
  movsd  0x20(%rsp),%xmm6
  mulsd  %xmm3,%xmm2
  movsd  0x10(%rsp),%xmm8
  mulsd  0x178(%rsp),%xmm8
  movapd %xmm4,%xmm0
  mulsd  %xmm9,%xmm0
  subsd  %xmm0,%xmm1
  movsd  0x40(%rsp),%xmm0
  mulsd  %xmm2,%xmm1
  divsd  %xmm12,%xmm1
  addsd  %xmm6,%xmm1
  divsd  %xmm0,%xmm1
  divsd  %xmm0,%xmm1
  movsd  %xmm1,(%rbx)
  movsd  0x8(%rbp),%xmm0
  xorpd  0x50(%rsp),%xmm0
  mulsd  0x178(%rsp),%xmm0
  mulsd  0x0(%rbp),%xmm0
  divsd  %xmm12,%xmm0
  addsd  %xmm8,%xmm0
  movsd  %xmm0,0x10(%rbx)
  jmp    L227
  nopl   0x0(%rax)
L165:
  movsd  (%rsp),%xmm1
  movsd  0x30(%rsp),%xmm0
  pxor   %xmm6,%xmm6
  mulsd  0x190(%rsp),%xmm0
  mulsd  %xmm4,%xmm1
  addsd  %xmm1,%xmm0
  mulsd  0x28(%rsp),%xmm0
  divsd  0x60(%rsp),%xmm0
  ucomisd %xmm0,%xmm6
  ja     L590
  sqrtsd %xmm0,%xmm0
  movsd  %xmm0,0x88(%rsp)
L552:
  movsd  0x30(%rsp),%xmm0
  movsd  (%rsp),%xmm6
  pxor   %xmm7,%xmm7
  mulsd  0x190(%rsp),%xmm6
  mulsd  %xmm4,%xmm0
  addsd  %xmm0,%xmm6
  mulsd  0x28(%rsp),%xmm6
  divsd  %xmm14,%xmm6
  ucomisd %xmm6,%xmm7
  ja     L15
  sqrtsd %xmm6,%xmm6
L335:
  movsd  0x8(%rsp),%xmm7
  movsd  D103(%rip),%xmm0
  pxor   %xmm5,%xmm5
  movsd  0x190(%rsp),%xmm15
  subsd  %xmm7,%xmm0
  mulsd  %xmm7,%xmm15
  movapd %xmm15,%xmm13
  addsd  %xmm4,%xmm13
  movapd %xmm13,%xmm1
  mulsd  %xmm14,%xmm1
  divsd  %xmm1,%xmm0
  ucomisd %xmm0,%xmm5
  ja     L11
  sqrtsd %xmm0,%xmm0
L286:
  movsd  0x8(%rsp),%xmm1
  addsd  D21(%rip),%xmm1
  movsd  D103(%rip),%xmm5
  movsd  0x28(%rsp),%xmm7
  addsd  0x90(%rsp),%xmm5
  mulsd  0x190(%rsp),%xmm5
  mulsd  %xmm4,%xmm1
  mulsd  %xmm0,%xmm7
  addsd  %xmm4,%xmm5
  addsd  %xmm15,%xmm1
  movsd  0x60(%rsp),%xmm15
  mulsd  %xmm7,%xmm5
  xorpd  0x50(%rsp),%xmm7
  mulsd  %xmm1,%xmm7
  movapd %xmm4,%xmm1
  subsd  0x190(%rsp),%xmm1
  mulsd  D308(%rip),%xmm1
  divsd  %xmm13,%xmm5
  mulsd  %xmm0,%xmm1
  movapd %xmm15,%xmm0
  mulsd  0x38(%rsp),%xmm15
  mulsd  0x38(%rsp),%xmm15
  divsd  %xmm13,%xmm7
  movsd  0x88(%rsp),%xmm13
  mulsd  %xmm13,%xmm0
  mulsd  %xmm5,%xmm0
  addsd  D103(%rip),%xmm0
  divsd  %xmm15,%xmm13
  movapd %xmm10,%xmm15
  mulsd  %xmm10,%xmm15
  mulsd  %xmm7,%xmm15
  mulsd  %xmm6,%xmm7
  divsd  %xmm14,%xmm1
  addsd  %xmm5,%xmm13
  movq   %r12,%xmm5
  xorpd  0x50(%rsp),%xmm13
  movsd  %xmm13,0x88(%rsp)
  movapd %xmm6,%xmm13
  divsd  %xmm14,%xmm5
  addsd  %xmm1,%xmm15
  mulsd  %xmm6,%xmm1
  mulsd  0x20(%rsp),%xmm1
  mulsd  %xmm14,%xmm15
  subsd  %xmm15,%xmm13
  mulsd  0x160(%rsp),%xmm13
  addsd  %xmm13,%xmm1
  addsd  %xmm7,%xmm5
  mulsd  0x1a0(%rsp),%xmm5
  addsd  %xmm5,%xmm1
  movsd  0x78(%rsp),%xmm5
  mulsd  %xmm0,%xmm5
  mulsd  0x80(%rsp),%xmm0
  jmp    L449
  nopw   0x0(%rax,%rax,1)
L202:
  movsd  0x30(%rsp),%xmm2
  movsd  (%rsp),%xmm0
  pxor   %xmm6,%xmm6
  mulsd  %xmm3,%xmm2
  mulsd  %xmm4,%xmm0
  addsd  %xmm0,%xmm2
  mulsd  0x28(%rsp),%xmm2
  divsd  0x48(%rsp),%xmm2
  ucomisd %xmm2,%xmm6
  ja     L167
  sqrtsd %xmm2,%xmm2
L210:
  movapd 0x50(%rsp),%xmm6
  movsd  (%rsp),%xmm0
  mulsd  %xmm3,%xmm0
  xorpd  %xmm2,%xmm6
  movapd %xmm6,%xmm15
  movsd  0x30(%rsp),%xmm6
  mulsd  %xmm4,%xmm6
  addsd  %xmm6,%xmm0
  mulsd  0x28(%rsp),%xmm0
  pxor   %xmm6,%xmm6
  divsd  %xmm12,%xmm0
  ucomisd %xmm0,%xmm6
  ja     L247
  sqrtsd %xmm0,%xmm0
L36:
  movapd %xmm3,%xmm13
  movsd  0x8(%rsp),%xmm10
  subsd  %xmm0,%xmm11
  movsd  D103(%rip),%xmm14
  mulsd  %xmm12,%xmm13
  movapd 0x50(%rsp),%xmm6
  subsd  %xmm7,%xmm14
  mulsd  %xmm4,%xmm10
  subsd  D103(%rip),%xmm7
  xorpd  %xmm0,%xmm6
  mulsd  %xmm14,%xmm13
  addsd  %xmm3,%xmm10
  mulsd  0x8(%rsp),%xmm3
  divsd  %xmm10,%xmm13
  addsd  %xmm4,%xmm3
  divsd  %xmm10,%xmm3
  movapd %xmm13,%xmm14
  movapd %xmm12,%xmm13
  xorpd  0x50(%rsp),%xmm12
  mulsd  %xmm4,%xmm13
  mulsd  %xmm7,%xmm13
  movsd  0x40(%rsp),%xmm7
  divsd  %xmm10,%xmm13
  divsd  %xmm10,%xmm14
  divsd  %xmm10,%xmm13
  movsd  0x68(%rsp),%xmm10
  movapd %xmm13,%xmm4
  mulsd  %xmm9,%xmm4
  mulsd  %xmm9,%xmm4
  movsd  0x10(%rsp),%xmm9
  addsd  %xmm3,%xmm4
  mulsd  %xmm12,%xmm4
  movapd %xmm6,%xmm12
  mulsd  %xmm3,%xmm12
  mulsd  0x18(%rsp),%xmm3
  mulsd  %xmm4,%xmm9
  movapd %xmm10,%xmm4
  subsd  %xmm2,%xmm4
  divsd  %xmm7,%xmm4
  divsd  %xmm7,%xmm4
  movapd %xmm10,%xmm7
  mulsd  %xmm14,%xmm7
  subsd  %xmm7,%xmm4
  movsd  0x48(%rsp),%xmm7
  mulsd  %xmm10,%xmm7
  movsd  0x18(%rsp),%xmm10
  mulsd  %xmm1,%xmm4
  mulsd  %xmm12,%xmm10
  movapd %xmm6,%xmm12
  mulsd  %xmm13,%xmm12
  mulsd  0x198(%rsp),%xmm12
  mulsd  %xmm15,%xmm7
  mulsd  0x48(%rsp),%xmm15
  mulsd  0x198(%rsp),%xmm13
  addsd  %xmm12,%xmm10
  movapd 0x50(%rsp),%xmm12
  mulsd  %xmm14,%xmm7
  mulsd  %xmm5,%xmm15
  addsd  %xmm9,%xmm10
  mulsd  0x68(%rsp),%xmm10
  mulsd  %xmm5,%xmm7
  subsd  %xmm15,%xmm1
  mulsd  %xmm14,%xmm1
  addsd  %xmm7,%xmm4
  subsd  %xmm10,%xmm4
  xorpd  %xmm12,%xmm4
  movapd %xmm4,%xmm7
  movapd %xmm13,%xmm4
  divsd  %xmm2,%xmm7
  addsd  %xmm3,%xmm4
  mulsd  %xmm6,%xmm4
  addsd  %xmm9,%xmm4
  addsd  %xmm1,%xmm4
  subsd  %xmm7,%xmm4
  divsd  %xmm11,%xmm4
  movapd %xmm4,%xmm0
  mulsd  %xmm8,%xmm0
  mulsd  0x178(%rsp),%xmm8
  addsd  %xmm7,%xmm0
  movsd  %xmm0,(%rbx)
  mulsd  0x8(%rbp),%xmm6
  mulsd  0x178(%rsp),%xmm6
  xorpd  %xmm6,%xmm12
  movapd %xmm12,%xmm0
  divsd  %xmm2,%xmm0
  subsd  %xmm0,%xmm8
  movsd  %xmm8,0x10(%rbx)
  jmp    L227
  nopl   0x0(%rax)
L192:
  movsd  (%rsp),%xmm0
  movsd  0x30(%rsp),%xmm6
  pxor   %xmm3,%xmm3
  mulsd  0x190(%rsp),%xmm6
  mulsd  %xmm4,%xmm0
  addsd  %xmm0,%xmm6
  mulsd  0x28(%rsp),%xmm6
  divsd  0x60(%rsp),%xmm6
  ucomisd %xmm6,%xmm3
  ja     L380
  sqrtsd %xmm6,%xmm6
L385:
  movsd  0x30(%rsp),%xmm3
  movsd  (%rsp),%xmm0
  mulsd  0x190(%rsp),%xmm0
  mulsd  %xmm4,%xmm3
  addsd  %xmm3,%xmm0
  mulsd  0x28(%rsp),%xmm0
  pxor   %xmm3,%xmm3
  divsd  %xmm14,%xmm0
  ucomisd %xmm0,%xmm3
  ja     L382
  sqrtsd %xmm0,%xmm0
L363:
  movsd  0x190(%rsp),%xmm9
  movsd  D103(%rip),%xmm3
  addsd  %xmm0,%xmm2
  movsd  0x8(%rsp),%xmm15
  movsd  0x20(%rsp),%xmm13
  mulsd  %xmm14,%xmm9
  subsd  %xmm7,%xmm3
  subsd  D103(%rip),%xmm7
  movapd %xmm15,%xmm11
  mulsd  %xmm4,%xmm11
  addsd  0x190(%rsp),%xmm11
  mulsd  %xmm3,%xmm9
  movapd %xmm14,%xmm3
  xorpd  0x50(%rsp),%xmm14
  mulsd  %xmm4,%xmm3
  divsd  %xmm11,%xmm9
  mulsd  %xmm7,%xmm3
  movsd  0x190(%rsp),%xmm7
  mulsd  %xmm15,%xmm7
  movsd  0x68(%rsp),%xmm15
  addsd  %xmm4,%xmm7
  divsd  %xmm11,%xmm3
  divsd  %xmm11,%xmm7
  divsd  %xmm11,%xmm3
  divsd  %xmm11,%xmm9
  movapd %xmm15,%xmm11
  movapd %xmm3,%xmm4
  movapd %xmm3,%xmm12
  mulsd  %xmm10,%xmm4
  mulsd  %xmm0,%xmm12
  mulsd  0x1a0(%rsp),%xmm12
  mulsd  0x1a0(%rsp),%xmm3
  mulsd  %xmm4,%xmm10
  movapd %xmm15,%xmm4
  addsd  %xmm6,%xmm4
  addsd  %xmm7,%xmm10
  mulsd  %xmm14,%xmm10
  movsd  0x38(%rsp),%xmm14
  mulsd  0x160(%rsp),%xmm10
  divsd  %xmm14,%xmm4
  mulsd  %xmm9,%xmm11
  divsd  %xmm14,%xmm4
  movsd  0x60(%rsp),%xmm14
  subsd  %xmm11,%xmm4
  movapd %xmm14,%xmm11
  mulsd  %xmm15,%xmm11
  mulsd  %xmm1,%xmm4
  mulsd  %xmm6,%xmm11
  mulsd  %xmm9,%xmm11
  mulsd  %xmm5,%xmm11
  addsd  %xmm11,%xmm4
  movapd %xmm7,%xmm11
  mulsd  %xmm0,%xmm11
  mulsd  %xmm13,%xmm7
  mulsd  %xmm13,%xmm11
  addsd  %xmm7,%xmm3
  movapd %xmm14,%xmm7
  mulsd  %xmm6,%xmm7
  mulsd  %xmm0,%xmm3
  addsd  %xmm12,%xmm11
  mulsd  %xmm7,%xmm5
  addsd  %xmm10,%xmm11
  addsd  %xmm10,%xmm3
  mulsd  %xmm15,%xmm11
  subsd  %xmm5,%xmm1
  mulsd  %xmm9,%xmm1
  subsd  %xmm11,%xmm4
  divsd  %xmm6,%xmm4
  addsd  %xmm1,%xmm3
  subsd  %xmm4,%xmm3
  divsd  %xmm2,%xmm3
  mulsd  %xmm8,%xmm3
  mulsd  0x180(%rsp),%xmm8
  addsd  %xmm4,%xmm3
  movsd  %xmm3,(%rbx)
  mulsd  0x8(%rbp),%xmm0
  mulsd  0x180(%rsp),%xmm0
  divsd  %xmm6,%xmm0
  subsd  %xmm0,%xmm8
  movsd  %xmm8,0x10(%rbx)
  jmp    L227
L101:
  movapd %xmm10,%xmm0
  movsd  %xmm2,0x40(%rsp)
  movsd  %xmm7,0x1b0(%rsp)
  movsd  %xmm13,0x1a8(%rsp)
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm11,0x38(%rsp)
  movsd  %xmm14,0x30(%rsp)
  movsd  %xmm12,0x28(%rsp)
  movsd  %xmm8,0x8(%rsp)
  movsd  %xmm9,(%rsp)
  call   <sqrt@plt>
  movsd  0x40(%rsp),%xmm2
  movsd  0x1b0(%rsp),%xmm7
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x38(%rsp),%xmm11
  movapd %xmm0,%xmm10
  movsd  0x188(%rsp),%xmm3
  movsd  0x30(%rsp),%xmm14
  movsd  0x28(%rsp),%xmm12
  movsd  0x8(%rsp),%xmm8
  movsd  (%rsp),%xmm9
  jmp    L250
L571:
  movsd  %xmm0,(%rsp)
  movapd %xmm9,%xmm0
  movsd  %xmm7,0x1b0(%rsp)
  movsd  %xmm13,0x1a8(%rsp)
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm11,0x30(%rsp)
  movsd  %xmm14,0x28(%rsp)
  movsd  %xmm6,0x38(%rsp)
  movsd  %xmm1,0x8(%rsp)
  call   <sqrt@plt>
  movsd  0x38(%rsp),%xmm2
  movsd  0x1b0(%rsp),%xmm7
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x30(%rsp),%xmm11
  movapd %xmm0,%xmm9
  movsd  0x188(%rsp),%xmm3
  movsd  0x28(%rsp),%xmm14
  movsd  0x8(%rsp),%xmm12
  movsd  (%rsp),%xmm8
  jmp    L164
L466:
  call   <__stack_chk_fail@plt>
L455:
  movsd  %xmm13,0x1a8(%rsp)
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm2,0xa0(%rsp)
  movsd  %xmm11,0x98(%rsp)
  movsd  %xmm14,0x90(%rsp)
  movsd  %xmm12,0x88(%rsp)
  movsd  %xmm8,0x80(%rsp)
  movsd  %xmm10,0x78(%rsp)
  movsd  %xmm9,0x70(%rsp)
  movsd  %xmm5,0x68(%rsp)
  movsd  %xmm4,0x50(%rsp)
  call   <sqrt@plt>
  movsd  0x78(%rsp),%xmm10
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x188(%rsp),%xmm3
  movsd  0x68(%rsp),%xmm5
  movsd  %xmm0,0x38(%rsp)
  movsd  0xa0(%rsp),%xmm2
  movsd  0x50(%rsp),%xmm4
  movsd  0x98(%rsp),%xmm11
  movsd  0x90(%rsp),%xmm14
  movsd  0x88(%rsp),%xmm12
  movsd  0x70(%rsp),%xmm9
  movsd  0x80(%rsp),%xmm8
  jmp    L133
L66:
  movsd  %xmm13,0x1a8(%rsp)
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm2,0x88(%rsp)
  movsd  %xmm11,0x80(%rsp)
  movsd  %xmm14,0x78(%rsp)
  movsd  %xmm12,0x70(%rsp)
  movsd  %xmm8,0x68(%rsp)
  movsd  %xmm10,0x50(%rsp)
  movsd  %xmm9,0x60(%rsp)
  movsd  %xmm4,0x38(%rsp)
  call   <sqrt@plt>
  movsd  0x78(%rsp),%xmm14
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x188(%rsp),%xmm3
  movsd  0x70(%rsp),%xmm12
  movsd  0x88(%rsp),%xmm2
  movsd  0x68(%rsp),%xmm8
  movsd  0x80(%rsp),%xmm11
  movsd  0x50(%rsp),%xmm10
  movsd  0x60(%rsp),%xmm9
  movsd  0x38(%rsp),%xmm4
  jmp    L230
L597:
  movsd  %xmm13,0x1a8(%rsp)
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm2,0xa0(%rsp)
  movsd  %xmm11,0x98(%rsp)
  movsd  %xmm14,0x90(%rsp)
  movsd  %xmm12,0x88(%rsp)
  movsd  %xmm8,0x80(%rsp)
  movsd  %xmm10,0x78(%rsp)
  movsd  %xmm9,0x70(%rsp)
  movsd  %xmm5,0x68(%rsp)
  movsd  %xmm4,0x50(%rsp)
  call   <sqrt@plt>
  movsd  0x78(%rsp),%xmm10
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x188(%rsp),%xmm3
  movsd  0x68(%rsp),%xmm5
  movsd  0xa0(%rsp),%xmm2
  movsd  0x50(%rsp),%xmm4
  movsd  0x98(%rsp),%xmm11
  movsd  0x90(%rsp),%xmm14
  movsd  0x88(%rsp),%xmm12
  movsd  0x70(%rsp),%xmm9
  movsd  0x80(%rsp),%xmm8
  jmp    L578
L537:
  movsd  %xmm13,0x1a8(%rsp)
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm2,0x80(%rsp)
  movsd  %xmm11,0x78(%rsp)
  movsd  %xmm14,0x70(%rsp)
  movsd  %xmm12,0x68(%rsp)
  movsd  %xmm8,0x50(%rsp)
  movsd  %xmm10,0x60(%rsp)
  movsd  %xmm9,0x38(%rsp)
  movsd  %xmm4,0x28(%rsp)
  call   <sqrt@plt>
  movsd  0x78(%rsp),%xmm11
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x188(%rsp),%xmm3
  movsd  0x70(%rsp),%xmm14
  movsd  %xmm0,0x40(%rsp)
  movsd  0x80(%rsp),%xmm2
  movsd  0x68(%rsp),%xmm12
  movsd  0x50(%rsp),%xmm8
  movsd  0x60(%rsp),%xmm10
  movsd  0x38(%rsp),%xmm9
  movsd  0x28(%rsp),%xmm4
  jmp    L24
L11:
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm2,0xe8(%rsp)
  movsd  %xmm11,0xe0(%rsp)
  movsd  %xmm14,0xd8(%rsp)
  movsd  %xmm12,0xd0(%rsp)
  movsd  %xmm8,0xc8(%rsp)
  movsd  %xmm6,0xc0(%rsp)
  movsd  %xmm10,0xb8(%rsp)
  movsd  %xmm9,0xb0(%rsp)
  movsd  %xmm13,0xa8(%rsp)
  movsd  %xmm15,0xa0(%rsp)
  movsd  %xmm4,0x98(%rsp)
  call   <sqrt@plt>
  movsd  0x188(%rsp),%xmm3
  movsd  0xe8(%rsp),%xmm2
  movsd  0xe0(%rsp),%xmm11
  movsd  0xd8(%rsp),%xmm14
  movsd  0xd0(%rsp),%xmm12
  movsd  0xc8(%rsp),%xmm8
  movsd  0xc0(%rsp),%xmm6
  movsd  0xb8(%rsp),%xmm10
  movsd  0xb0(%rsp),%xmm9
  movsd  0xa8(%rsp),%xmm13
  movsd  0xa0(%rsp),%xmm15
  movsd  0x98(%rsp),%xmm4
  jmp    L286
L588:
  movsd  %xmm13,0x1a8(%rsp)
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm2,0xc8(%rsp)
  movsd  %xmm11,0xc0(%rsp)
  movsd  %xmm14,0xb8(%rsp)
  movsd  %xmm12,0xb0(%rsp)
  movsd  %xmm8,0xa8(%rsp)
  movsd  %xmm10,0xa0(%rsp)
  movsd  %xmm9,0x98(%rsp)
  movsd  %xmm15,0x90(%rsp)
  movsd  %xmm6,0x78(%rsp)
  movsd  %xmm4,0x70(%rsp)
  call   <sqrt@plt>
  movsd  0x78(%rsp),%xmm6
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x188(%rsp),%xmm3
  movsd  0x70(%rsp),%xmm4
  movsd  0xc8(%rsp),%xmm2
  movsd  0xc0(%rsp),%xmm11
  movsd  0xb8(%rsp),%xmm14
  movsd  0xb0(%rsp),%xmm12
  movsd  0xa8(%rsp),%xmm8
  movsd  0xa0(%rsp),%xmm10
  movsd  0x98(%rsp),%xmm9
  movsd  0x90(%rsp),%xmm15
  jmp    L46
L382:
  movsd  %xmm2,0x78(%rsp)
  movsd  %xmm14,0x70(%rsp)
  movsd  %xmm8,0x48(%rsp)
  movsd  %xmm6,0x40(%rsp)
  movsd  %xmm1,0x30(%rsp)
  movsd  %xmm5,0x28(%rsp)
  movsd  %xmm10,0x18(%rsp)
  movsd  %xmm7,0x10(%rsp)
  movsd  %xmm4,(%rsp)
  call   <sqrt@plt>
  movsd  0x78(%rsp),%xmm2
  movsd  (%rsp),%xmm4
  movsd  0x70(%rsp),%xmm14
  movsd  0x48(%rsp),%xmm8
  movsd  0x40(%rsp),%xmm6
  movsd  0x30(%rsp),%xmm1
  movsd  0x28(%rsp),%xmm5
  movsd  0x18(%rsp),%xmm10
  movsd  0x10(%rsp),%xmm7
  jmp    L363
L380:
  movapd %xmm6,%xmm0
  movsd  %xmm8,0x78(%rsp)
  movsd  %xmm2,0x88(%rsp)
  movsd  %xmm14,0x80(%rsp)
  movsd  %xmm1,0x70(%rsp)
  movsd  %xmm5,0x48(%rsp)
  movsd  %xmm10,0x40(%rsp)
  movsd  %xmm7,0x18(%rsp)
  movsd  %xmm4,0x10(%rsp)
  call   <sqrt@plt>
  movsd  0x78(%rsp),%xmm8
  movsd  0x88(%rsp),%xmm2
  movsd  0x70(%rsp),%xmm1
  movsd  0x48(%rsp),%xmm5
  movapd %xmm0,%xmm6
  movsd  0x80(%rsp),%xmm14
  movsd  0x40(%rsp),%xmm10
  movsd  0x18(%rsp),%xmm7
  movsd  0x10(%rsp),%xmm4
  jmp    L385
L15:
  movsd  %xmm3,0x188(%rsp)
  movapd %xmm6,%xmm0
  movsd  %xmm2,0xd0(%rsp)
  movsd  %xmm11,0xc8(%rsp)
  movsd  %xmm14,0xc0(%rsp)
  movsd  %xmm12,0xb8(%rsp)
  movsd  %xmm8,0xb0(%rsp)
  movsd  %xmm10,0xa8(%rsp)
  movsd  %xmm9,0xa0(%rsp)
  movsd  %xmm4,0x98(%rsp)
  call   <sqrt@plt>
  movsd  0x188(%rsp),%xmm3
  movsd  0xd0(%rsp),%xmm2
  movsd  0xc8(%rsp),%xmm11
  movapd %xmm0,%xmm6
  movsd  0xc0(%rsp),%xmm14
  movsd  0xb8(%rsp),%xmm12
  movsd  0xb0(%rsp),%xmm8
  movsd  0xa8(%rsp),%xmm10
  movsd  0xa0(%rsp),%xmm9
  movsd  0x98(%rsp),%xmm4
  jmp    L335
L590:
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm2,0xd0(%rsp)
  movsd  %xmm11,0xc8(%rsp)
  movsd  %xmm14,0xc0(%rsp)
  movsd  %xmm12,0xb8(%rsp)
  movsd  %xmm8,0xb0(%rsp)
  movsd  %xmm10,0xa8(%rsp)
  movsd  %xmm9,0xa0(%rsp)
  movsd  %xmm4,0x98(%rsp)
  call   <sqrt@plt>
  movsd  0x188(%rsp),%xmm3
  movsd  0xd0(%rsp),%xmm2
  movsd  0xc8(%rsp),%xmm11
  movsd  0xc0(%rsp),%xmm14
  movsd  %xmm0,0x88(%rsp)
  movsd  0xb8(%rsp),%xmm12
  movsd  0xb0(%rsp),%xmm8
  movsd  0xa8(%rsp),%xmm10
  movsd  0xa0(%rsp),%xmm9
  movsd  0x98(%rsp),%xmm4
  jmp    L552
L618:
  movapd %xmm1,%xmm0
  movsd  %xmm9,0x78(%rsp)
  movsd  %xmm13,0x1a8(%rsp)
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm2,0xb0(%rsp)
  movsd  %xmm11,0xa8(%rsp)
  movsd  %xmm14,0xa0(%rsp)
  movsd  %xmm12,0x98(%rsp)
  movsd  %xmm8,0x90(%rsp)
  movsd  %xmm10,0x88(%rsp)
  movsd  %xmm4,0x70(%rsp)
  call   <sqrt@plt>
  movsd  0x78(%rsp),%xmm9
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x188(%rsp),%xmm3
  movsd  0x70(%rsp),%xmm4
  movsd  %xmm0,0x80(%rsp)
  movsd  0xb0(%rsp),%xmm2
  movsd  0xa8(%rsp),%xmm11
  movsd  0xa0(%rsp),%xmm14
  movsd  0x98(%rsp),%xmm12
  movsd  0x90(%rsp),%xmm8
  movsd  0x88(%rsp),%xmm10
  jmp    L437
L494:
  movsd  %xmm13,0x1a8(%rsp)
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm2,0xa0(%rsp)
  movsd  %xmm11,0x98(%rsp)
  movsd  %xmm14,0x90(%rsp)
  movsd  %xmm12,0x88(%rsp)
  movsd  %xmm8,0x80(%rsp)
  movsd  %xmm10,0x78(%rsp)
  movsd  %xmm9,0x70(%rsp)
  movsd  %xmm4,0x50(%rsp)
  call   <sqrt@plt>
  movsd  0x78(%rsp),%xmm10
  movsd  0x1a8(%rsp),%xmm13
  movsd  0x188(%rsp),%xmm3
  movsd  0x50(%rsp),%xmm4
  movq   %xmm0,%r15
  movsd  0xa0(%rsp),%xmm2
  movsd  0x98(%rsp),%xmm11
  movsd  0x90(%rsp),%xmm14
  movsd  0x70(%rsp),%xmm9
  movsd  0x88(%rsp),%xmm12
  movsd  0x80(%rsp),%xmm8
  jmp    L282
L247:
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm11,0x88(%rsp)
  movsd  %xmm12,0x80(%rsp)
  movsd  %xmm8,0x78(%rsp)
  movsd  %xmm15,0x70(%rsp)
  movsd  %xmm1,0x60(%rsp)
  movsd  %xmm5,0x38(%rsp)
  movsd  %xmm9,0x30(%rsp)
  movsd  %xmm7,0x28(%rsp)
  movsd  %xmm2,0x20(%rsp)
  movsd  %xmm4,(%rsp)
  call   <sqrt@plt>
  movsd  0x60(%rsp),%xmm1
  movsd  (%rsp),%xmm4
  movsd  0x188(%rsp),%xmm3
  movsd  0x78(%rsp),%xmm8
  movsd  0x88(%rsp),%xmm11
  movsd  0x70(%rsp),%xmm15
  movsd  0x80(%rsp),%xmm12
  movsd  0x38(%rsp),%xmm5
  movsd  0x30(%rsp),%xmm9
  movsd  0x28(%rsp),%xmm7
  movsd  0x20(%rsp),%xmm2
  jmp    L36
L167:
  movapd %xmm2,%xmm0
  movsd  %xmm1,0x78(%rsp)
  movsd  %xmm3,0x188(%rsp)
  movsd  %xmm11,0x90(%rsp)
  movsd  %xmm12,0x88(%rsp)
  movsd  %xmm8,0x80(%rsp)
  movsd  %xmm5,0x70(%rsp)
  movsd  %xmm9,0x60(%rsp)
  movsd  %xmm7,0x38(%rsp)
  movsd  %xmm4,0x20(%rsp)
  call   <sqrt@plt>
  movsd  0x78(%rsp),%xmm1
  movsd  0x188(%rsp),%xmm3
  movsd  0x70(%rsp),%xmm5
  movsd  0x38(%rsp),%xmm7
  movapd %xmm0,%xmm2
  movsd  0x90(%rsp),%xmm11
  movsd  0x60(%rsp),%xmm9
  movsd  0x88(%rsp),%xmm12
  movsd  0x20(%rsp),%xmm4
  movsd  0x80(%rsp),%xmm8
  jmp    L210
```

tool_calls: name: disassemble_data
arguments: data_tag: D405
data_type: f64
name: disassemble_data
arguments: data_tag: D308
data_type: byte[8]
name: disassemble_data
arguments: data_tag: D103
data_type: f64
name: disassemble_data
arguments: data_tag: D161
data_type: byte[16]
name: disassemble_data
arguments: data_tag: D52
data_type: byte[8]
name: disassemble_data
arguments: data_tag: D21
data_type: f64

tool: D405: 0.5

tool: {"D308": [0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xbf]}

tool: D103: 1

tool: {"D161": [0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]}

tool: {"D52": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0xbf]}

tool: D21: 2

assistant: ```c
void linear_GRP_2D_solver_Edir(double *wave_speed, double *direvative, double *source, double lambda, double rho_L, double rho_R, double d_rho_L, double d_rho_R, double u_L, double u_R, double d_u_L, double d_u_R, double v_L, double v_R, double d_v_L, double d_v_R, double p_L, double p_R, double d_p_L, double d_p_R, double gamma, double eps) {
  double dist;
  double c_L, c_R, c_frac;
  int CRW[2];
  double d_Phi, d_Psi, TdS, VAR, RIEL, RIER;
  double u_star, p_star, rho_star_L, rho_star_R, c_star_L, c_star_R;
  double PI, H1, H2, H3;
  double a_L, b_L, d_L, a_R, b_R, d_R, detA;
  double L_u, L_p, L_rho;
  double u_t_mat, p_t_mat;
  double shk_spd, SmUs, SmUL, SmUR, zeta = (gamma - 1.0) / (gamma + 1.0), zts = zeta * zeta;
  double C, rho_x;
  double g_rho, g_u, g_p, f;
  double speed_L, speed_R;
  c_L = sqrt(gamma * p_L / rho_L);
  c_R = sqrt(gamma * p_R / rho_R);
  dist = (rho_L - rho_R) * (rho_L - rho_R) + (u_L - u_R) * (u_L - u_R) + (p_L - p_R) * (p_L - p_R);
  if (dist < eps) {
    wave_speed[0] = u_L - c_L;
    wave_speed[1] = u_R + c_R;
    rho_star_L = rho_L;
    rho_star_R = rho_R;
    c_star_L = c_L;
    c_star_R = c_R;
    u_star = 0.5 * (u_R + u_L);
    p_star = 0.5 * (p_R + p_L);
    RIEL = d_u_L + d_p_L / (rho_L * c_L);
    RIER = d_u_R - d_p_R / (rho_R * c_R);
    direvative[1] = -0.5 * ((u_L + c_L) * RIEL + (u_R - c_R) * RIER);
    direvative[3] = -0.5 * rho_L * c_L * ((u_L + c_L) * RIEL - (u_R - c_R) * RIER);
    if (u_star > lambda) {
      source[0] = rho_star_L;
      source[1] = u_star;
      source[2] = v_L;
      source[3] = p_star;
      direvative[0] = (direvative[1] + u_star * (d_p_L - c_L * c_L * d_rho_L)) / c_L / c_L;
      direvative[2] = -u_L * d_v_L;
      direvative[0] = direvative[0] + lambda * d_rho_L;
      direvative[1] = direvative[1] + lambda * d_u_L;
      direvative[2] = direvative[2] + lambda * d_v_L;
      direvative[3] = direvative[3] + lambda * d_p_L;
    } else {
      source[0] = rho_star_R;
      source[1] = u_star;
      source[2] = v_R;
      source[3] = p_star;
      direvative[0] = (direvative[1] + u_star * (d_p_R - c_R * c_R * d_rho_R)) / c_R / c_R;
      direvative[2] = -u_R * d_v_R;
      direvative[0] = direvative[0] + lambda * d_rho_R;
      direvative[1] = direvative[1] + lambda * d_u_R;
      direvative[2] = direvative[2] + lambda * d_v_R;
      direvative[3] = direvative[3] + lambda * d_p_R;
    }
    return;
  }
  Riemann_solver_exact(&u_star, &p_star, gamma, u_L, u_R, p_L, p_R, c_L, c_R, CRW, eps, 500);
  if (CRW[0]) {
    rho_star_L = rho_L * pow(p_star / p_L, 1.0 / gamma);
    c_star_L = c_L * pow(p_star / p_L, 0.5 * (gamma - 1.0) / gamma);
    speed_L = u_L - c_L;
  } else {
    rho_star_L = rho_L * (p_star + zeta * p_L) / (p_L + zeta * p_star);
    c_star_L = sqrt(gamma * p_star / rho_star_L);
    speed_L = u_L - c_L * sqrt(0.5 * ((gamma + 1.0) * (p_star / p_L) + (gamma - 1.0)) / gamma);
  }
  if (CRW[1]) {
    rho_star_R = rho_R * pow(p_star / p_R, 1.0 / gamma);
    c_star_R = c_R * pow(p_star / p_R, 0.5 * (gamma - 1.0) / gamma);
    speed_R = u_R + c_R;
  } else {
    rho_star_R = rho_R * (p_star + zeta * p_R) / (p_R + zeta * p_star);
    c_star_R = sqrt(gamma * p_star / rho_star_R);
    speed_R = u_R + c_R * sqrt(0.5 * ((gamma + 1.0) * (p_star / p_R) + (gamma - 1.0)) / gamma);
  }
  wave_speed[0] = speed_L;
  wave_speed[1] = speed_R;
  if (speed_L > lambda) {
    direvative[0] = -d_rho_L * u_L - rho_L * d_u_L;
    direvative[1] = -u_L * d_u_L - d_p_L / rho_L;
    direvative[2] = -u_L * d_v_L;
    direvative[3] = -(rho_L * c_L * c_L * d_u_L + u_L * d_p_L);
    direvative[0] = direvative[0] + lambda * d_rho_L;
    direvative[1] = direvative[1] + lambda * d_u_L;
    direvative[2] = direvative[2] + lambda * d_v_L;
    direvative[3] = direvative[3] + lambda * d_p_L;
    source[0] = rho_L;
    source[1] = u_L;
    source[2] = v_L;
    source[3] = p_L;
  } else if (speed_R < lambda) {
    direvative[0] = -d_rho_R * u_R - rho_R * d_u_R;
    direvative[1] = -u_R * d_u_R - d_p_R / rho_R;
    direvative[2] = -u_R * d_v_R;
    direvative[3] = -(rho_R * c_R * c_R * d_u_R + u_R * d_p_R);
    direvative[0] = direvative[0] + lambda * d_rho_R;
    direvative[1] = direvative[1] + lambda * d_u_R;
    direvative[2] = direvative[2] + lambda * d_v_R;
    direvative[3] = direvative[3] + lambda * d_p_R;
    source[0] = rho_R;
    source[1] = u_R;
    source[2] = v_R;
    source[3] = p_R;
  } else {
    if ((CRW[0]) && ((u_star - c_star_L) > lambda)) {
      source[1] = zeta * (u_L + 2.0 * (c_L + lambda) / (gamma - 1.0));
      C = source[1] - lambda;
      source[3] = pow(C / c_L, 2.0 * gamma / (gamma - 1.0)) * p_L;
      source[0] = gamma * source[3] / C / C;
      c_frac = C / c_L;
      TdS = (d_p_L - d_rho_L * c_L * c_L) / (gamma - 1.0) / rho_L;
      d_Psi = d_u_L + (gamma * d_p_L / c_L - c_L * d_rho_L) / (gamma - 1.0) / rho_L;
      direvative[1] = ((1.0 + zeta) * pow(c_frac, 0.5 / zeta) + zeta * pow(c_frac, (1.0 + zeta) / zeta)) / (1.0 + 2.0 * zeta);
      direvative[1] = direvative[1] * TdS;
      direvative[1] = direvative[1] - c_L * pow(c_frac, 0.5 / zeta) * d_Psi;
      direvative[3] = source[0] * (source[1] - lambda) * direvative[1];
      direvative[0] = source[0] * (source[1] - lambda) * pow(c_frac, (1.0 + zeta) / zeta) * (d_p_L - d_rho_L * c_L * c_L) / rho_L;
      direvative[0] = (direvative[0] + direvative[3]) / C / C;
      source[2] = v_L;
      direvative[2] = -source[1] * d_v_L * source[0] / rho_L;
    } else if ((CRW[1]) && ((u_star + c_star_R) < lambda)) {
      source[1] = zeta * (u_R - 2.0 * (c_R - lambda) / (gamma - 1.0));
      C = lambda - source[1];
      source[3] = pow(C / c_R, 2.0 * gamma / (gamma - 1.0)) * p_R;
      source[0] = gamma * source[3] / C / C;
      c_frac = C / c_R;
      TdS = (d_p_R - d_rho_R * c_R * c_R) / (gamma - 1.0) / rho_R;
      d_Phi = d_u_R - (gamma * d_p_R / c_R - c_R * d_rho_R) / (gamma - 1.0) / rho_R;
      direvative[1] = ((1.0 + zeta) * pow(c_frac, 0.5 / zeta) + zeta * pow(c_frac, (1.0 + zeta) / zeta)) / (1.0 + 2.0 * zeta);
      direvative[1] = direvative[1] * TdS;
      direvative[1] = direvative[1] + c_R * pow(c_frac, 0.5 / zeta) * d_Phi;
      direvative[3] = source[0] * (source[1] - lambda) * direvative[1];
      direvative[0] = source[0] * (source[1] - lambda) * pow(c_frac, (1.0 + zeta) / zeta) * (d_p_R - d_rho_R * c_R * c_R) / rho_R;
      direvative[0] = (direvative[0] + direvative[3]) / C / C;
      source[2] = v_R;
      direvative[2] = -source[1] * d_v_L * source[0] / rho_R;
    } else {
      if (CRW[0]) {
        a_L = 1.0;
        b_L = 1.0 / rho_star_L / c_star_L;
        c_frac = c_star_L / c_L;
        TdS = (d_p_L - d_rho_L * c_L * c_L) / (gamma - 1.0) / rho_L;
        d_Psi = d_u_L + (gamma * d_p_L / c_L - c_L * d_rho_L) / (gamma - 1.0) / rho_L;
        d_L = ((1.0 + zeta) * pow(c_frac, 0.5 / zeta) + zeta * pow(c_frac, (1.0 + zeta) / zeta)) / (1.0 + 2.0 * zeta);
        d_L = d_L * TdS;
        d_L = d_L - c_L * pow(c_frac, 0.5 / zeta) * d_Psi;
      } else {
        SmUs = -sqrt(0.5 * ((gamma + 1.0) * p_L + (gamma - 1.0) * p_star) / rho_star_L);
        SmUL = -sqrt(0.5 * ((gamma + 1.0) * p_star + (gamma - 1.0) * p_L) / rho_L);
        VAR = sqrt((1 - zeta) / (rho_L * (p_star + zeta * p_L)));
        H1 = 0.5 * VAR * (p_star + (1.0 + 2.0 * zeta) * p_L) / (p_star + zeta * p_L);
        H2 = -0.5 * VAR * ((2.0 + zeta) * p_star + zeta * p_L) / (p_star + zeta * p_L);
        H3 = -0.5 * VAR * (p_star - p_L) / rho_L;
        L_p = -1.0 / rho_L - SmUL * H2;
        L_u = SmUL + rho_L * (c_L * c_L * H2 + H3);
        L_rho = -SmUL * H3;
        a_L = 1.0 - rho_star_L * SmUs * H1;
        b_L = -SmUs / (rho_star_L * c_star_L * c_star_L) + H1;
        d_L = L_rho * d_rho_L + L_u * d_u_L + L_p * d_p_L;
      }
      if (CRW[1]) {
        a_R = 1.0;
        b_R = -1.0 / rho_star_R / c_star_R;
        c_frac = c_star_R / c_R;
        TdS = (d_p_R - d_rho_R * c_R * c_R) / (gamma - 1.0) / rho_R;
        d_Phi = d_u_R - (gamma * d_p_R / c_R - c_R * d_rho_R) / (gamma - 1.0) / rho_R;
        d_R = ((1.0 + zeta) * pow(c_frac, 0.5 / zeta) + zeta * pow(c_frac, (1.0 + zeta) / zeta)) / (1.0 + 2.0 * zeta);
        d_R = d_R * TdS;
        d_R = d_R + c_R * pow(c_frac, 0.5 / zeta) * d_Phi;
      } else {
        SmUs = sqrt(0.5 * ((gamma + 1.0) * p_R + (gamma - 1.0) * p_star) / rho_star_R);
        SmUR = sqrt(0.5 * ((gamma + 1.0) * p_star + (gamma - 1.0) * p_R) / rho_R);
        VAR = sqrt((1.0 - zeta) / (rho_R * (p_star + zeta * p_R)));
        H1 = 0.5 * VAR * (p_star + (1 + 2.0 * zeta) * p_R) / (p_star + zeta * p_R);
        H2 = -0.5 * VAR * ((2.0 + zeta) * p_star + zeta * p_R) / (p_star + zeta * p_R);
        H3 = -0.5 * (p_star - p_R) * VAR / rho_R;
        L_p = -1.0 / rho_R + SmUR * H2;
        L_u = SmUR - rho_R * (c_R * c_R * H2 + H3);
        L_rho = SmUR * H3;
        a_R = 1.0 + rho_star_R * SmUs * H1;
        b_R = -(SmUs / (rho_star_R * c_star_R * c_star_R) + H1);
        d_R = L_rho * d_rho_R + L_u * d_u_R + L_p * d_p_R;
      }
      detA = a_L * b_R - b_L * a_R;
      u_t_mat = (b_R * d_L - b_L * d_R) / detA;
      p_t_mat = (a_L * d_R - a_R * d_L) / detA;
      if (u_star < lambda) {
        source[0] = rho_star_R;
        source[1] = u_star;
        source[2] = v_R;
        source[3] = p_star;
        direvative[1] = u_t_mat + (u_star - lambda) * p_t_mat / rho_star_R / c_star_R / c_star_R;
        direvative[3] = p_t_mat + rho_star_R * (u_star - lambda) * u_t_mat;
        if (CRW[1]) {
          direvative[0] = rho_star_R * (u_star - lambda) * pow(c_star_R / c_R, (1.0 + zeta) / zeta) * (d_p_R - d_rho_R * c_R * c_R) / rho_R;
          direvative[0] = (direvative[0] + direvative[3]) / c_star_R / c_star_R;
          direvative[2] = -source[1] * d_v_R * source[0] / rho_R;
          direvative[2] = direvative[2] + lambda * d_v_R;
        } else {
          SmUs = sqrt(0.5 * ((gamma + 1.0) * p_R + (gamma - 1.0) * p_star) / rho_star_R);
          SmUR = sqrt(0.5 * ((gamma + 1.0) * p_star + (gamma - 1.0) * p_R) / rho_R);
          VAR = p_R + zeta * p_star;
          H1 = rho_R * p_R * (1.0 - zts) / VAR / VAR;
          H2 = rho_R * p_star * (zts - 1.0) / VAR / VAR;
          H3 = (p_star + zeta * p_R) / VAR;
          L_rho = SmUR * H3 * d_rho_R;
          L_u = -rho_R * (H2 * c_R * c_R + H3) * d_u_R;
          L_p = H2 * SmUR * d_p_R;
          direvative[0] = ((u_star + SmUs) / c_star_R / c_star_R - u_star * H1) * p_t_mat + rho_star_R * u_star * SmUs * H1 * u_t_mat;
          direvative[0] = (direvative[0] - u_star * (L_p + L_rho + L_u)) / SmUs;
          f = SmUR * (H2 * d_p_R + H3 * d_rho_R) - rho_R * (H2 * c_R * c_R + H3) * d_u_R;
          rho_x = (f + H1 * (p_t_mat - rho_star_R * SmUs * u_t_mat) - direvative[0]) / (SmUR + u_R);
          direvative[0] = direvative[0] + lambda * rho_x;
          direvative[2] = source[1] * SmUR * d_v_R / SmUs;
          direvative[2] = -direvative[2] + lambda * d_v_R;
        }
      } else {
        source[0] = rho_star_L;
        source[1] = u_star;
        source[2] = v_L;
        source[3] = p_star;
        direvative[1] = u_t_mat + (u_star - lambda) * p_t_mat / rho_star_L / c_star_L / c_star_L;
        direvative[3] = p_t_mat + rho_star_L * (u_star - lambda) * u_t_mat;
        if (CRW[0]) {
          direvative[0] = rho_star_L * (u_star - lambda) * pow(c_star_L / c_L, (1.0 + zeta) / zeta) * (d_p_L - d_rho_L * c_L * c_L) / rho_L;
          direvative[0] = (direvative[0] + direvative[3]) / c_star_L / c_star_L;
          direvative[2] = -source[1] * d_v_L * source[0] / rho_L;
          direvative[2] = direvative[2] + lambda * d_v_L;
        } else {
          SmUs = -sqrt(0.5 * ((gamma + 1.0) * p_L + (gamma - 1.0) * p_star) / rho_star_L);
          SmUL = -sqrt(0.5 * ((gamma + 1.0) * p_star + (gamma - 1.0) * p_L) / rho_L);
          VAR = p_L + zeta * p_star;
          H1 = rho_L * p_L * (1.0 - zts) / VAR / VAR;
          H2 = rho_L * p_star * (zts - 1.0) / VAR / VAR;
          H3 = (p_star + zeta * p_L) / VAR;
          L_rho = SmUL * H3 * d_rho_L;
          L_u = -rho_L * (H2 * c_L * c_L + H3) * d_u_L;
          L_p = H2 * SmUL * d_p_L;
          direvative[0] = ((u_star + SmUs) / c_star_L / c_star_L - H1 * u_star) * p_t_mat + rho_star_L * u_star * SmUs * H1 * u_t_mat;
          direvative[0] = (direvative[0] - u_star * (L_p + L_rho + L_u)) / SmUs;
          f = SmUL * (H2 * d_p_L + H3 * d_rho_L) - rho_L * (H2 * c_L * c_L + H3) * d_u_L;
          rho_x = (f + H1 * (p_t_mat - rho_star_L * SmUs * u_t_mat) - direvative[0]) / (SmUL + u_L);
          direvative[0] = direvative[0] + lambda * rho_x;
          direvative[2] = source[1] * SmUL * d_v_L / SmUs;
          direvative[2] = -direvative[2] + lambda * d_v_L;
        }
      }
    }
  }
}
```