user: Please show me the C implementation that matches the assembly code listed below:

```asm
<imgprojac_motstr>:
  endbr64
  push   %r13
  pxor   %xmm2,%xmm2
  shl    $0x2,%edi
  push   %r12
  movslq %edi,%rdi
  mov    %rcx,%r12
  push   %rbx
  sub    $0xe0,%rsp
  movsd  (%rdx),%xmm6
  movsd  0x8(%rdx),%xmm8
  movsd  D110(%rip),%xmm0
  movsd  0x10(%rdx),%xmm3
  movapd %xmm6,%xmm1
  mov    0x100(%rsp),%rax
  mulsd  %xmm6,%xmm1
  mov    0x8(%rax),%rbx
  mov    (%rax),%rax
  lea    (%rax,%rdi,8),%r13
  subsd  %xmm1,%xmm0
  movapd %xmm8,%xmm1
  mulsd  %xmm8,%xmm1
  subsd  %xmm1,%xmm0
  movapd %xmm3,%xmm1
  mulsd  %xmm3,%xmm1
  subsd  %xmm1,%xmm0
  ucomisd %xmm0,%xmm2
  ja     L28
  sqrtsd %xmm0,%xmm0
L24:
  movsd  D110(%rip),%xmm7
  movsd  0x8(%r13),%xmm1
  movsd  0x18(%r13),%xmm13
  movsd  0x10(%r13),%xmm2
  divsd  %xmm0,%xmm7
  movsd  0x0(%r13),%xmm14
  movsd  0x8(%r13),%xmm12
  movapd %xmm13,%xmm4
  mulsd  %xmm3,%xmm12
  mulsd  %xmm7,%xmm1
  mulsd  %xmm7,%xmm2
  xorpd  D120(%rip),%xmm1
  mulsd  %xmm7,%xmm4
  xorpd  D120(%rip),%xmm2
  movsd  %xmm1,0x88(%rsp)
  mulsd  %xmm6,%xmm1
  xorpd  D120(%rip),%xmm4
  movsd  %xmm2,0x90(%rsp)
  mulsd  %xmm14,%xmm7
  movapd %xmm2,%xmm5
  movsd  0x10(%r12),%xmm2
  mulsd  %xmm6,%xmm5
  movapd %xmm4,%xmm11
  movsd  %xmm4,0x98(%rsp)
  movsd  (%r12),%xmm4
  mulsd  %xmm6,%xmm11
  xorpd  D120(%rip),%xmm7
  movsd  %xmm7,0xa0(%rsp)
  addsd  %xmm14,%xmm1
  movapd %xmm5,%xmm10
  movsd  0x8(%r12),%xmm5
  movapd %xmm1,%xmm15
  movsd  0x10(%r13),%xmm1
  subsd  %xmm13,%xmm10
  movapd %xmm15,%xmm9
  movsd  %xmm15,0x28(%rsp)
  xorpd  D120(%rip),%xmm9
  addsd  %xmm11,%xmm1
  mulsd  %xmm4,%xmm9
  movsd  %xmm10,0x40(%rsp)
  movapd %xmm1,%xmm11
  movapd %xmm10,%xmm1
  mulsd  %xmm5,%xmm1
  movsd  %xmm11,0x30(%rsp)
  subsd  %xmm1,%xmm9
  movapd %xmm11,%xmm1
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm9
  movsd  0x8(%r13),%xmm1
  movq   %xmm9,%rsi
  movapd %xmm0,%xmm9
  xorpd  D120(%rip),%xmm9
  mulsd  %xmm9,%xmm1
  movapd %xmm6,%xmm9
  mulsd  %xmm14,%xmm9
  subsd  %xmm9,%xmm1
  movapd %xmm8,%xmm9
  mulsd  %xmm13,%xmm9
  subsd  %xmm9,%xmm1
  movsd  0x10(%r13),%xmm9
  mulsd  %xmm3,%xmm9
  addsd  %xmm9,%xmm1
  movsd  0x10(%r13),%xmm9
  mulsd  %xmm0,%xmm9
  movapd %xmm9,%xmm10
  movapd %xmm8,%xmm9
  mulsd  %xmm14,%xmm9
  addsd  %xmm10,%xmm9
  addsd  %xmm12,%xmm9
  movapd %xmm6,%xmm12
  mulsd  %xmm13,%xmm12
  subsd  %xmm12,%xmm9
  movsd  0x10(%r13),%xmm12
  mulsd  %xmm6,%xmm12
  movapd %xmm9,%xmm15
  movapd %xmm13,%xmm9
  mulsd  %xmm0,%xmm9
  movsd  %xmm15,(%rsp)
  mulsd  %xmm14,%xmm0
  movapd %xmm9,%xmm10
  movapd %xmm3,%xmm9
  mulsd  %xmm14,%xmm9
  addsd  %xmm10,%xmm9
  addsd  %xmm12,%xmm9
  movsd  0x8(%r13),%xmm12
  mulsd  %xmm8,%xmm12
  movapd %xmm12,%xmm10
  movapd %xmm9,%xmm12
  movapd %xmm4,%xmm9
  mulsd  %xmm1,%xmm9
  subsd  %xmm10,%xmm12
  movapd %xmm9,%xmm10
  movapd %xmm5,%xmm9
  mulsd  %xmm15,%xmm9
  movapd %xmm7,%xmm15
  mulsd  %xmm6,%xmm15
  mulsd  0x8(%r13),%xmm6
  subsd  %xmm9,%xmm10
  movapd %xmm12,%xmm9
  mulsd  %xmm2,%xmm9
  movapd %xmm15,%xmm11
  subsd  0x8(%r13),%xmm11
  subsd  %xmm6,%xmm0
  movsd  0x10(%r13),%xmm6
  mulsd  %xmm8,%xmm6
  subsd  %xmm9,%xmm10
  subsd  %xmm6,%xmm0
  movapd %xmm3,%xmm6
  movapd %xmm10,%xmm9
  mulsd  %xmm13,%xmm6
  subsd  %xmm6,%xmm0
  movsd  (%rsp),%xmm6
  movsd  0x40(%rsp),%xmm10
  movsd  %xmm11,0x20(%rsp)
  movsd  0x30(%rsp),%xmm7
  movsd  %xmm9,0x18(%rsp)
  mulsd  %xmm2,%xmm6
  movapd %xmm0,%xmm15
  movapd %xmm4,%xmm0
  mulsd  %xmm15,%xmm0
  addsd  %xmm6,%xmm0
  movapd %xmm12,%xmm6
  mulsd  %xmm5,%xmm6
  subsd  %xmm6,%xmm0
  movapd %xmm11,%xmm6
  mulsd  %xmm4,%xmm6
  movsd  %xmm0,0x8(%rsp)
  movapd %xmm6,%xmm0
  movapd %xmm10,%xmm6
  mulsd  %xmm2,%xmm6
  addsd  %xmm6,%xmm0
  movapd %xmm7,%xmm6
  mulsd  %xmm5,%xmm6
  subsd  %xmm6,%xmm0
  movapd %xmm11,%xmm6
  mulsd  %xmm5,%xmm6
  movsd  %xmm0,0x50(%rsp)
  movapd %xmm6,%xmm0
  movapd %xmm7,%xmm6
  movsd  0x28(%rsp),%xmm7
  mulsd  %xmm4,%xmm6
  addsd  %xmm6,%xmm0
  movapd %xmm7,%xmm6
  mulsd  %xmm2,%xmm6
  mulsd  %xmm5,%xmm7
  subsd  %xmm6,%xmm0
  movapd %xmm5,%xmm6
  mulsd  %xmm15,%xmm6
  movsd  %xmm0,0x58(%rsp)
  movapd %xmm6,%xmm0
  movapd %xmm12,%xmm6
  mulsd  %xmm4,%xmm6
  addsd  %xmm0,%xmm6
  movapd %xmm2,%xmm0
  mulsd  %xmm1,%xmm0
  addsd  %xmm0,%xmm6
  movapd %xmm11,%xmm0
  mulsd  %xmm2,%xmm0
  movsd  %xmm6,0x10(%rsp)
  movapd %xmm10,%xmm6
  mulsd  %xmm4,%xmm10
  mulsd  %xmm9,%xmm6
  addsd  %xmm7,%xmm0
  mulsd  0x10(%rsp),%xmm11
  movapd %xmm10,%xmm7
  movapd %xmm0,%xmm10
  subsd  %xmm7,%xmm10
  movapd %xmm11,%xmm9
  movsd  0x8(%rsp),%xmm11
  movsd  %xmm10,0x60(%rsp)
  movapd %xmm2,%xmm10
  mulsd  %xmm15,%xmm10
  movapd %xmm10,%xmm7
  movapd %xmm5,%xmm10
  mulsd  %xmm1,%xmm10
  subsd  %xmm10,%xmm7
  movsd  (%rsp),%xmm10
  mulsd  %xmm4,%xmm10
  movapd %xmm10,%xmm0
  movapd %xmm7,%xmm10
  movq   %rsi,%xmm7
  subsd  %xmm0,%xmm10
  xorpd  D120(%rip),%xmm7
  movsd  (%rsp),%xmm0
  mulsd  %xmm7,%xmm0
  mulsd  %xmm12,%xmm7
  subsd  %xmm6,%xmm0
  movsd  0x28(%rsp),%xmm6
  mulsd  %xmm10,%xmm6
  addsd  %xmm0,%xmm9
  movsd  0x58(%rsp),%xmm0
  mulsd  %xmm15,%xmm0
  addsd  %xmm9,%xmm0
  movsd  0x60(%rsp),%xmm9
  mulsd  %xmm1,%xmm9
  addsd  %xmm9,%xmm0
  movsd  0x50(%rsp),%xmm9
  mulsd  %xmm12,%xmm9
  subsd  %xmm6,%xmm0
  movsd  0x30(%rsp),%xmm6
  mulsd  %xmm6,%xmm11
  addsd  %xmm9,%xmm0
  movsd  0x58(%rsp),%xmm9
  mulsd  %xmm1,%xmm9
  addsd  %xmm11,%xmm0
  movsd  0x20(%rsp),%xmm11
  movsd  %xmm0,0xa8(%rsp)
  movsd  0x18(%rsp),%xmm0
  mulsd  %xmm6,%xmm0
  movsd  0x40(%rsp),%xmm6
  mulsd  0x8(%rsp),%xmm6
  subsd  %xmm0,%xmm7
  movapd %xmm11,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm0,%xmm7
  movsd  0x60(%rsp),%xmm0
  mulsd  %xmm15,%xmm0
  addsd  %xmm7,%xmm0
  movsd  0x50(%rsp),%xmm7
  mulsd  (%rsp),%xmm7
  subsd  %xmm7,%xmm0
  movapd %xmm15,%xmm7
  mulsd  %xmm10,%xmm7
  subsd  %xmm6,%xmm0
  movsd  0x28(%rsp),%xmm6
  mulsd  0x10(%rsp),%xmm6
  subsd  %xmm9,%xmm0
  addsd  %xmm6,%xmm0
  movsd  %xmm0,0x68(%rsp)
  movsd  0x18(%rsp),%xmm9
  movapd %xmm12,%xmm0
  xorpd  D120(%rip),%xmm9
  movsd  %xmm12,0x38(%rsp)
  mulsd  %xmm9,%xmm0
  mulsd  (%rsp),%xmm9
  addsd  %xmm7,%xmm0
  movsd  0x8(%rsp),%xmm7
  mulsd  (%rsp),%xmm7
  subsd  %xmm7,%xmm0
  movsd  0x10(%rsp),%xmm7
  mulsd  %xmm1,%xmm7
  subsd  %xmm7,%xmm0
  addsd  0x28(%rdx),%xmm0
  movsd  D110(%rip),%xmm7
  divsd  %xmm0,%xmm7
  movapd %xmm0,%xmm6
  movsd  0x10(%rsp),%xmm0
  movsd  %xmm6,0xc8(%rsp)
  mulsd  %xmm15,%xmm0
  addsd  %xmm0,%xmm9
  movapd %xmm1,%xmm0
  mulsd  %xmm10,%xmm0
  addsd  %xmm9,%xmm0
  movsd  0x8(%rsp),%xmm9
  mulsd  %xmm12,%xmm9
  addsd  %xmm9,%xmm0
  addsd  0x20(%rdx),%xmm0
  movsd  D110(%rip),%xmm9
  movsd  %xmm0,0xb0(%rsp)
  movapd %xmm6,%xmm0
  mulsd  %xmm6,%xmm0
  divsd  %xmm0,%xmm9
  movsd  0x18(%rsp),%xmm0
  mulsd  %xmm1,%xmm0
  movsd  %xmm9,0xb8(%rsp)
  movsd  0x8(%rsp),%xmm9
  mulsd  %xmm15,%xmm9
  addsd  %xmm9,%xmm0
  movsd  0x10(%rsp),%xmm9
  mulsd  %xmm12,%xmm9
  movsd  (%rsp),%xmm12
  mulsd  %xmm10,%xmm12
  subsd  %xmm9,%xmm0
  addsd  %xmm12,%xmm0
  addsd  0x18(%rdx),%xmm0
  mulsd  (%rbx),%xmm0
  movsd  0xb0(%rsp),%xmm12
  mulsd  0x8(%rbx),%xmm12
  addsd  %xmm12,%xmm0
  movsd  0x10(%rbx),%xmm12
  mulsd  %xmm6,%xmm12
  addsd  %xmm12,%xmm0
  movsd  0xb8(%rsp),%xmm12
  mulsd  %xmm0,%xmm12
  movsd  0x90(%rsp),%xmm0
  mulsd  %xmm8,%xmm0
  movsd  %xmm12,0xc0(%rsp)
  movsd  0x88(%rsp),%xmm12
  addsd  %xmm14,%xmm0
  mulsd  %xmm8,%xmm12
  movapd %xmm0,%xmm6
  movsd  0x98(%rsp),%xmm0
  mulsd  %xmm8,%xmm0
  addsd  %xmm13,%xmm12
  subsd  0x8(%r13),%xmm0
  movapd %xmm12,%xmm9
  movsd  %xmm0,0x20(%rsp)
  movapd %xmm6,%xmm0
  xorpd  D120(%rip),%xmm9
  mulsd  %xmm5,%xmm0
  movsd  %xmm6,0x48(%rsp)
  mulsd  %xmm4,%xmm9
  mulsd  0xa0(%rsp),%xmm8
  subsd  0x10(%r13),%xmm8
  subsd  %xmm0,%xmm9
  movsd  0x20(%rsp),%xmm0
  mulsd  %xmm2,%xmm0
  subsd  %xmm0,%xmm9
  movq   %xmm9,%rcx
  movapd %xmm8,%xmm9
  mulsd  %xmm4,%xmm8
  movapd %xmm8,%xmm0
  movapd %xmm6,%xmm8
  movsd  0x20(%rsp),%xmm6
  mulsd  %xmm2,%xmm8
  addsd  %xmm8,%xmm0
  movapd %xmm6,%xmm8
  mulsd  %xmm5,%xmm8
  subsd  %xmm8,%xmm0
  movapd %xmm9,%xmm8
  mulsd  %xmm5,%xmm8
  movsd  %xmm0,0x70(%rsp)
  movapd %xmm8,%xmm0
  movapd %xmm6,%xmm8
  movapd %xmm9,%xmm6
  movsd  %xmm6,0xd0(%rsp)
  mulsd  %xmm4,%xmm8
  addsd  %xmm8,%xmm0
  movapd %xmm2,%xmm8
  mulsd  %xmm12,%xmm8
  subsd  %xmm8,%xmm0
  movapd %xmm9,%xmm8
  mulsd  %xmm2,%xmm8
  movsd  %xmm0,0x78(%rsp)
  movapd %xmm8,%xmm0
  movapd %xmm5,%xmm8
  mulsd  %xmm12,%xmm8
  addsd  %xmm8,%xmm0
  movsd  0x48(%rsp),%xmm8
  mulsd  %xmm4,%xmm8
  movapd %xmm0,%xmm9
  movsd  (%rsp),%xmm0
  subsd  %xmm8,%xmm9
  movq   %rcx,%xmm8
  xorpd  D120(%rip),%xmm8
  mulsd  %xmm8,%xmm0
  movsd  %xmm9,0x80(%rsp)
  movsd  0x18(%rsp),%xmm9
  mulsd  0x48(%rsp),%xmm9
  mulsd  0x38(%rsp),%xmm8
  subsd  %xmm9,%xmm0
  movsd  0x10(%rsp),%xmm9
  mulsd  %xmm6,%xmm9
  addsd  %xmm0,%xmm9
  movsd  0x78(%rsp),%xmm0
  mulsd  %xmm15,%xmm0
  addsd  %xmm9,%xmm0
  movsd  0x80(%rsp),%xmm9
  mulsd  %xmm1,%xmm9
  addsd  %xmm9,%xmm0
  movapd %xmm10,%xmm9
  mulsd  %xmm12,%xmm9
  subsd  %xmm9,%xmm0
  movsd  0x38(%rsp),%xmm9
  mulsd  0x70(%rsp),%xmm9
  addsd  %xmm0,%xmm9
  movsd  0x8(%rsp),%xmm0
  mulsd  0x20(%rsp),%xmm0
  addsd  %xmm0,%xmm9
  movsd  0x18(%rsp),%xmm0
  mulsd  0x20(%rsp),%xmm0
  movq   %xmm9,%rdi
  movapd %xmm6,%xmm9
  mulsd  %xmm10,%xmm9
  subsd  %xmm0,%xmm8
  movsd  0x10(%rsp),%xmm0
  mulsd  %xmm12,%xmm0
  addsd  %xmm9,%xmm8
  movsd  0x80(%rsp),%xmm9
  mulsd  %xmm15,%xmm9
  addsd  %xmm9,%xmm8
  movsd  0x70(%rsp),%xmm9
  mulsd  (%rsp),%xmm9
  subsd  %xmm9,%xmm8
  movsd  0x8(%rsp),%xmm9
  mulsd  0x48(%rsp),%xmm9
  subsd  %xmm9,%xmm8
  movsd  0x78(%rsp),%xmm9
  mulsd  %xmm1,%xmm9
  subsd  %xmm9,%xmm8
  addsd  %xmm0,%xmm8
  movsd  %xmm8,0xd8(%rsp)
  movsd  0x8(%r13),%xmm9
  movsd  0x88(%rsp),%xmm8
  mulsd  0x8(%rsp),%xmm11
  mulsd  %xmm3,%xmm8
  movapd %xmm8,%xmm0
  subsd  0x10(%r13),%xmm0
  movsd  0x90(%rsp),%xmm8
  mulsd  %xmm3,%xmm8
  addsd  %xmm8,%xmm9
  movsd  0x98(%rsp),%xmm8
  mulsd  %xmm3,%xmm8
  mulsd  0xa0(%rsp),%xmm3
  addsd  %xmm14,%xmm8
  movapd %xmm0,%xmm14
  xorpd  D120(%rip),%xmm14
  subsd  %xmm13,%xmm3
  mulsd  %xmm4,%xmm14
  movq   %xmm14,%rax
  movapd %xmm5,%xmm14
  mulsd  %xmm9,%xmm14
  movq   %rax,%xmm6
  subsd  %xmm14,%xmm6
  movapd %xmm2,%xmm14
  mulsd  %xmm8,%xmm14
  subsd  %xmm14,%xmm6
  movapd %xmm4,%xmm14
  mulsd  %xmm3,%xmm14
  movsd  %xmm6,0x90(%rsp)
  movapd %xmm14,%xmm13
  movapd %xmm2,%xmm14
  mulsd  %xmm9,%xmm14
  addsd  %xmm14,%xmm13
  movapd %xmm5,%xmm14
  mulsd  %xmm8,%xmm14
  subsd  %xmm14,%xmm13
  movapd %xmm5,%xmm14
  mulsd  %xmm3,%xmm14
  mulsd  %xmm0,%xmm5
  movsd  %xmm13,0x88(%rsp)
  movapd %xmm14,%xmm13
  movapd %xmm4,%xmm14
  mulsd  %xmm8,%xmm14
  mulsd  %xmm9,%xmm4
  addsd  %xmm14,%xmm13
  movapd %xmm2,%xmm14
  mulsd  %xmm3,%xmm2
  mulsd  %xmm0,%xmm14
  addsd  %xmm5,%xmm2
  subsd  %xmm14,%xmm13
  subsd  %xmm4,%xmm2
  movapd %xmm13,%xmm6
  movsd  0x18(%rsp),%xmm13
  movsd  %xmm6,0x98(%rsp)
  movapd %xmm2,%xmm14
  movapd %xmm13,%xmm5
  movsd  0x90(%rsp),%xmm2
  xorpd  D120(%rip),%xmm2
  mulsd  %xmm9,%xmm5
  movapd %xmm2,%xmm4
  mulsd  (%rsp),%xmm2
  subsd  %xmm5,%xmm2
  movsd  0x10(%rsp),%xmm5
  mulsd  %xmm3,%xmm5
  addsd  %xmm2,%xmm5
  movapd %xmm6,%xmm2
  movapd %xmm14,%xmm6
  movsd  %xmm6,0xa0(%rsp)
  mulsd  %xmm15,%xmm2
  addsd  %xmm5,%xmm2
  movapd %xmm14,%xmm5
  movsd  0x38(%rsp),%xmm14
  mulsd  %xmm1,%xmm5
  mulsd  %xmm14,%xmm4
  addsd  %xmm5,%xmm2
  movapd %xmm10,%xmm5
  mulsd  %xmm0,%xmm5
  subsd  %xmm5,%xmm2
  movsd  0x88(%rsp),%xmm5
  mulsd  %xmm14,%xmm5
  addsd  %xmm2,%xmm5
  movsd  0x8(%rsp),%xmm2
  mulsd  %xmm8,%xmm2
  addsd  %xmm2,%xmm5
  movsd  0x98(%rsp),%xmm2
  mulsd  %xmm1,%xmm2
  movq   %xmm5,%rax
  movapd %xmm13,%xmm5
  mulsd  %xmm8,%xmm5
  subsd  %xmm5,%xmm4
  movapd %xmm10,%xmm5
  mulsd  %xmm3,%xmm5
  addsd  %xmm5,%xmm4
  movapd %xmm6,%xmm5
  movsd  0x28(%rsp),%xmm6
  mulsd  %xmm15,%xmm5
  mulsd  0x18(%rsp),%xmm6
  addsd  %xmm5,%xmm4
  movsd  0x88(%rsp),%xmm5
  mulsd  (%rsp),%xmm5
  subsd  %xmm5,%xmm4
  movsd  0x8(%rsp),%xmm5
  mulsd  %xmm9,%xmm5
  subsd  %xmm5,%xmm4
  subsd  %xmm2,%xmm4
  movsd  0x10(%rsp),%xmm2
  mulsd  %xmm0,%xmm2
  addsd  %xmm2,%xmm4
  movapd %xmm4,%xmm2
  movsd  0xb0(%rsp),%xmm4
  mulsd  0x18(%rbx),%xmm4
  movapd %xmm4,%xmm5
  movsd  0xc8(%rsp),%xmm4
  mulsd  0x20(%rbx),%xmm4
  addsd  %xmm4,%xmm5
  movq   %rsi,%xmm4
  mulsd  %xmm1,%xmm4
  mulsd  0xb8(%rsp),%xmm5
  movapd %xmm4,%xmm13
  movapd %xmm11,%xmm4
  subsd  %xmm6,%xmm13
  addsd  %xmm13,%xmm4
  movsd  0x50(%rsp),%xmm13
  movsd  0x58(%rsp),%xmm11
  movsd  0x40(%rsp),%xmm6
  mulsd  0x18(%rsp),%xmm12
  mulsd  %xmm15,%xmm13
  mulsd  %xmm14,%xmm11
  movsd  0xc0(%rsp),%xmm14
  mulsd  %xmm10,%xmm6
  addsd  %xmm13,%xmm4
  movsd  0x60(%rsp),%xmm13
  mulsd  (%rsp),%xmm13
  subsd  %xmm11,%xmm4
  movsd  0x30(%rsp),%xmm11
  mulsd  0x10(%rsp),%xmm11
  subsd  %xmm11,%xmm4
  movsd  0x68(%rsp),%xmm11
  mulsd  %xmm11,%xmm14
  addsd  %xmm4,%xmm13
  movapd %xmm6,%xmm4
  movsd  0xd0(%rsp),%xmm6
  mulsd  0x8(%rsp),%xmm6
  addsd  %xmm13,%xmm4
  movsd  (%rbx),%xmm13
  mulsd  %xmm4,%xmm13
  movsd  0xa8(%rsp),%xmm4
  mulsd  0x8(%rbx),%xmm4
  addsd  %xmm13,%xmm4
  movsd  0x10(%rbx),%xmm13
  mulsd  %xmm11,%xmm13
  movsd  0x20(%rsp),%xmm11
  mulsd  0x10(%rsp),%xmm11
  addsd  %xmm13,%xmm4
  movq   %rcx,%xmm13
  mulsd  %xmm1,%xmm13
  mulsd  0x90(%rsp),%xmm1
  mulsd  %xmm7,%xmm4
  subsd  %xmm12,%xmm13
  movsd  0x78(%rsp),%xmm12
  subsd  %xmm14,%xmm4
  movsd  0x70(%rsp),%xmm14
  mulsd  %xmm15,%xmm14
  movsd  %xmm4,(%r8)
  movapd %xmm6,%xmm4
  movsd  0x48(%rsp),%xmm6
  addsd  %xmm13,%xmm4
  movsd  0x10(%rbx),%xmm13
  mulsd  %xmm10,%xmm6
  addsd  %xmm14,%xmm4
  movsd  0x38(%rsp),%xmm14
  mulsd  %xmm14,%xmm12
  subsd  %xmm12,%xmm4
  subsd  %xmm11,%xmm4
  movsd  0x80(%rsp),%xmm11
  mulsd  (%rsp),%xmm11
  movapd %xmm11,%xmm12
  addsd  %xmm4,%xmm12
  addsd  %xmm6,%xmm12
  mulsd  (%rbx),%xmm12
  movsd  0xd8(%rsp),%xmm6
  mulsd  %xmm6,%xmm13
  movapd %xmm12,%xmm4
  movq   %rdi,%xmm12
  mulsd  0x8(%rbx),%xmm12
  addsd  %xmm4,%xmm12
  addsd  %xmm13,%xmm12
  movsd  0xc0(%rsp),%xmm13
  movapd %xmm13,%xmm11
  mulsd  %xmm7,%xmm12
  mulsd  %xmm6,%xmm11
  subsd  %xmm11,%xmm12
  movsd  %xmm12,0x8(%r8)
  movsd  0x18(%rsp),%xmm4
  mulsd  0x8(%rsp),%xmm3
  mulsd  0x88(%rsp),%xmm15
  mulsd  %xmm0,%xmm4
  movq   %rax,%xmm0
  mulsd  0x98(%rsp),%xmm14
  mulsd  0x10(%rsp),%xmm8
  subsd  %xmm4,%xmm1
  movsd  0x68(%rsp),%xmm4
  addsd  %xmm1,%xmm3
  movsd  0xa0(%rsp),%xmm1
  mulsd  (%rsp),%xmm1
  addsd  %xmm15,%xmm3
  subsd  %xmm14,%xmm3
  subsd  %xmm8,%xmm3
  addsd  %xmm3,%xmm1
  movapd %xmm10,%xmm3
  mulsd  %xmm9,%xmm3
  addsd  %xmm3,%xmm1
  mulsd  (%rbx),%xmm1
  movq   %rax,%xmm3
  mulsd  0x8(%rbx),%xmm3
  addsd  %xmm3,%xmm1
  movsd  0x10(%rbx),%xmm3
  mulsd  %xmm2,%xmm3
  addsd  %xmm3,%xmm1
  movapd %xmm13,%xmm3
  mulsd  %xmm2,%xmm3
  mulsd  %xmm7,%xmm1
  subsd  %xmm3,%xmm1
  movsd  %xmm1,0x10(%r8)
  movsd  (%rbx),%xmm3
  mulsd  %xmm7,%xmm3
  movsd  %xmm3,0x18(%r8)
  movsd  0x8(%rbx),%xmm3
  mulsd  %xmm7,%xmm3
  movsd  %xmm3,0x20(%r8)
  movsd  0x10(%rbx),%xmm3
  mulsd  %xmm7,%xmm3
  movapd %xmm3,%xmm1
  subsd  %xmm13,%xmm1
  movsd  %xmm1,0x28(%r8)
  movsd  0x20(%rbx),%xmm3
  movsd  0xa8(%rsp),%xmm1
  mulsd  0x18(%rbx),%xmm1
  mulsd  %xmm4,%xmm3
  addsd  %xmm3,%xmm1
  movapd %xmm4,%xmm3
  mulsd  %xmm5,%xmm3
  mulsd  %xmm7,%xmm1
  subsd  %xmm3,%xmm1
  movsd  %xmm1,0x30(%r8)
  movsd  0x20(%rbx),%xmm3
  movq   %rdi,%xmm1
  mulsd  0x18(%rbx),%xmm1
  mulsd  %xmm6,%xmm3
  mulsd  %xmm5,%xmm6
  addsd  %xmm3,%xmm1
  mulsd  %xmm7,%xmm1
  subsd  %xmm6,%xmm1
  movsd  %xmm1,0x38(%r8)
  movsd  0x20(%rbx),%xmm1
  mulsd  0x18(%rbx),%xmm0
  movq   $0x0,0x48(%r8)
  mulsd  %xmm2,%xmm1
  mulsd  %xmm5,%xmm2
  addsd  %xmm1,%xmm0
  mulsd  %xmm7,%xmm0
  subsd  %xmm2,%xmm0
  pxor   %xmm2,%xmm2
  movsd  %xmm0,0x40(%r8)
  movsd  0x18(%rbx),%xmm0
  mulsd  %xmm7,%xmm0
  movsd  %xmm0,0x50(%r8)
  mulsd  0x20(%rbx),%xmm7
  subsd  %xmm5,%xmm7
  movsd  %xmm7,0x58(%r8)
  movsd  (%rdx),%xmm3
  movsd  0x8(%rdx),%xmm6
  movsd  D110(%rip),%xmm0
  movsd  0x10(%rdx),%xmm4
  movapd %xmm3,%xmm1
  mulsd  %xmm3,%xmm1
  subsd  %xmm1,%xmm0
  movapd %xmm6,%xmm1
  mulsd  %xmm6,%xmm1
  subsd  %xmm1,%xmm0
  movapd %xmm4,%xmm1
  mulsd  %xmm4,%xmm1
  subsd  %xmm1,%xmm0
  ucomisd %xmm0,%xmm2
  ja     L10
  sqrtsd %xmm0,%xmm0
L16:
  movapd %xmm0,%xmm2
  xorpd  D120(%rip),%xmm2
  movsd  0x8(%r13),%xmm8
  movapd %xmm3,%xmm5
  movsd  0x0(%r13),%xmm9
  movsd  0x18(%r13),%xmm7
  movapd %xmm3,%xmm11
  movsd  0x10(%r13),%xmm10
  mulsd  %xmm8,%xmm11
  movapd %xmm2,%xmm1
  mulsd  %xmm9,%xmm5
  movapd %xmm9,%xmm15
  mulsd  %xmm8,%xmm1
  mulsd  %xmm0,%xmm15
  mulsd  %xmm7,%xmm0
  mulsd  %xmm10,%xmm2
  subsd  %xmm5,%xmm1
  movapd %xmm6,%xmm5
  mulsd  %xmm7,%xmm5
  subsd  %xmm5,%xmm1
  movapd %xmm4,%xmm5
  mulsd  %xmm10,%xmm5
  addsd  %xmm5,%xmm1
  movapd %xmm1,%xmm5
  movapd %xmm1,%xmm14
  mulsd  %xmm1,%xmm5
  movsd  %xmm5,0x8(%rsp)
  movapd %xmm15,%xmm5
  subsd  %xmm11,%xmm5
  movapd %xmm6,%xmm11
  mulsd  %xmm10,%xmm11
  subsd  %xmm11,%xmm5
  movapd %xmm4,%xmm11
  mulsd  %xmm7,%xmm11
  subsd  %xmm11,%xmm5
  movapd %xmm4,%xmm11
  mulsd  %xmm9,%xmm11
  mulsd  %xmm8,%xmm4
  movapd %xmm5,%xmm15
  movapd %xmm5,%xmm13
  mulsd  %xmm5,%xmm15
  addsd  %xmm11,%xmm0
  movapd %xmm3,%xmm11
  mulsd  %xmm10,%xmm11
  mulsd  %xmm7,%xmm3
  movsd  %xmm15,0x10(%rsp)
  addsd  %xmm11,%xmm0
  movapd %xmm6,%xmm11
  mulsd  %xmm9,%xmm6
  mulsd  %xmm8,%xmm11
  movsd  (%r12),%xmm8
  movapd %xmm8,%xmm10
  mulsd  %xmm1,%xmm10
  subsd  %xmm6,%xmm2
  movsd  0x10(%r12),%xmm6
  subsd  %xmm11,%xmm0
  movapd %xmm6,%xmm12
  subsd  %xmm4,%xmm2
  movapd %xmm5,%xmm4
  xorpd  D120(%rip),%xmm4
  addsd  %xmm3,%xmm2
  mulsd  %xmm2,%xmm14
  movapd %xmm2,%xmm7
  mulsd  %xmm2,%xmm7
  mulsd  %xmm2,%xmm12
  mulsd  %xmm2,%xmm13
  movapd %xmm14,%xmm3
  movsd  %xmm7,(%rsp)
  movapd %xmm4,%xmm7
  addsd  %xmm14,%xmm3
  movapd %xmm5,%xmm4
  mulsd  %xmm0,%xmm7
  movapd %xmm13,%xmm9
  addsd  %xmm13,%xmm9
  subsd  %xmm7,%xmm3
  movsd  %xmm7,0x18(%rsp)
  subsd  %xmm7,%xmm3
  movsd  0x8(%r12),%xmm7
  movapd %xmm7,%xmm11
  mulsd  %xmm2,%xmm11
  movsd  %xmm3,0x20(%rsp)
  movapd %xmm1,%xmm3
  xorpd  D120(%rip),%xmm3
  mulsd  %xmm0,%xmm3
  addsd  %xmm11,%xmm10
  movapd %xmm6,%xmm11
  mulsd  %xmm0,%xmm11
  addsd  %xmm3,%xmm9
  movapd %xmm10,%xmm15
  movapd %xmm6,%xmm10
  mulsd  %xmm5,%xmm10
  mulsd  %xmm1,%xmm6
  addsd  %xmm3,%xmm9
  addsd  %xmm3,%xmm3
  subsd  %xmm11,%xmm15
  movapd %xmm7,%xmm11
  mulsd  %xmm1,%xmm11
  subsd  %xmm13,%xmm3
  movsd  %xmm15,0x28(%rsp)
  subsd  %xmm13,%xmm3
  subsd  %xmm11,%xmm10
  movapd %xmm8,%xmm11
  mulsd  %xmm2,%xmm11
  addsd  %xmm11,%xmm10
  movapd %xmm8,%xmm11
  mulsd  %xmm5,%xmm11
  mulsd  %xmm0,%xmm8
  mulsd  %xmm10,%xmm4
  subsd  %xmm12,%xmm11
  movapd %xmm7,%xmm12
  mulsd  %xmm5,%xmm7
  mulsd  %xmm0,%xmm12
  addsd  %xmm7,%xmm8
  movapd %xmm4,%xmm7
  movapd %xmm5,%xmm4
  subsd  %xmm12,%xmm11
  movsd  D110(%rip),%xmm12
  addsd  %xmm6,%xmm8
  movapd %xmm15,%xmm6
  mulsd  %xmm0,%xmm6
  mulsd  %xmm8,%xmm4
  subsd  %xmm6,%xmm7
  movapd %xmm2,%xmm6
  mulsd  %xmm11,%xmm6
  addsd  %xmm6,%xmm7
  movapd %xmm1,%xmm6
  mulsd  %xmm8,%xmm6
  mulsd  %xmm0,%xmm8
  subsd  %xmm6,%xmm7
  movapd %xmm15,%xmm6
  movapd %xmm4,%xmm15
  mulsd  %xmm2,%xmm6
  movapd %xmm1,%xmm4
  addsd  0x28(%rdx),%xmm7
  mulsd  %xmm10,%xmm4
  mulsd  %xmm2,%xmm10
  xorpd  D120(%rip),%xmm2
  divsd  %xmm7,%xmm12
  mulsd  %xmm0,%xmm2
  addsd  %xmm6,%xmm15
  movapd %xmm4,%xmm6
  movapd %xmm0,%xmm4
  mulsd  %xmm11,%xmm4
  addsd  %xmm15,%xmm6
  mulsd  %xmm5,%xmm11
  addsd  %xmm4,%xmm6
  movapd %xmm7,%xmm4
  addsd  0x20(%rdx),%xmm6
  mulsd  %xmm7,%xmm4
  movapd %xmm4,%xmm15
  movsd  D110(%rip),%xmm4
  divsd  %xmm15,%xmm4
  movsd  0x28(%rsp),%xmm15
  mulsd  %xmm1,%xmm15
  mulsd  %xmm5,%xmm1
  addsd  %xmm11,%xmm15
  movsd  (%rsp),%xmm11
  subsd  %xmm8,%xmm15
  movsd  0x8(%rbx),%xmm8
  mulsd  %xmm6,%xmm8
  subsd  %xmm10,%xmm15
  addsd  0x18(%rdx),%xmm15
  mulsd  (%rbx),%xmm15
  movsd  0x10(%rbx),%xmm10
  mulsd  0x18(%rbx),%xmm6
  mulsd  %xmm7,%xmm10
  addsd  %xmm15,%xmm8
  movsd  0x10(%rsp),%xmm15
  addsd  %xmm15,%xmm11
  addsd  %xmm10,%xmm8
  movapd %xmm0,%xmm10
  mulsd  %xmm0,%xmm10
  movapd %xmm2,%xmm0
  addsd  %xmm2,%xmm0
  subsd  %xmm1,%xmm0
  mulsd  %xmm4,%xmm8
  movsd  %xmm4,0x28(%rsp)
  movsd  0x8(%rsp),%xmm4
  subsd  %xmm1,%xmm0
  addsd  %xmm1,%xmm1
  movapd %xmm4,%xmm5
  subsd  %xmm4,%xmm11
  addsd  %xmm15,%xmm5
  addsd  %xmm2,%xmm1
  subsd  %xmm10,%xmm11
  subsd  %xmm10,%xmm5
  addsd  %xmm2,%xmm1
  movapd %xmm15,%xmm2
  addsd  %xmm10,%xmm2
  subsd  (%rsp),%xmm2
  mulsd  0x20(%rbx),%xmm7
  movsd  0x20(%rsp),%xmm15
  subsd  (%rsp),%xmm5
  mulsd  (%rbx),%xmm5
  subsd  %xmm4,%xmm2
  movsd  0x18(%rsp),%xmm4
  addsd  %xmm7,%xmm6
  movsd  0x8(%rbx),%xmm7
  addsd  %xmm4,%xmm4
  mulsd  0x28(%rsp),%xmm6
  mulsd  %xmm15,%xmm7
  addsd  %xmm14,%xmm4
  addsd  %xmm14,%xmm4
  addsd  %xmm7,%xmm5
  movsd  0x10(%rbx),%xmm7
  mulsd  %xmm9,%xmm7
  addsd  %xmm7,%xmm5
  movapd %xmm9,%xmm7
  mulsd  %xmm8,%xmm7
  mulsd  %xmm12,%xmm5
  subsd  %xmm7,%xmm5
  movsd  %xmm5,(%r9)
  movsd  0x8(%rbx),%xmm5
  mulsd  (%rbx),%xmm4
  mulsd  %xmm11,%xmm5
  addsd  %xmm5,%xmm4
  movsd  0x10(%rbx),%xmm5
  mulsd  %xmm0,%xmm5
  addsd  %xmm5,%xmm4
  movapd %xmm8,%xmm5
  mulsd  %xmm0,%xmm5
  mulsd  %xmm2,%xmm8
  mulsd  %xmm12,%xmm4
  subsd  %xmm5,%xmm4
  movsd  %xmm4,0x8(%r9)
  movsd  0x8(%rbx),%xmm4
  mulsd  (%rbx),%xmm3
  mulsd  %xmm1,%xmm4
  addsd  %xmm4,%xmm3
  movsd  0x10(%rbx),%xmm4
  mulsd  %xmm2,%xmm4
  addsd  %xmm4,%xmm3
  mulsd  %xmm12,%xmm3
  subsd  %xmm8,%xmm3
  movsd  %xmm3,0x10(%r9)
  movsd  0x18(%rbx),%xmm3
  movsd  0x20(%rbx),%xmm4
  mulsd  %xmm15,%xmm3
  mulsd  %xmm9,%xmm4
  mulsd  %xmm6,%xmm9
  addsd  %xmm4,%xmm3
  mulsd  %xmm12,%xmm3
  subsd  %xmm9,%xmm3
  movsd  %xmm3,0x18(%r9)
  movsd  0x20(%rbx),%xmm3
  mulsd  0x18(%rbx),%xmm11
  mulsd  %xmm0,%xmm3
  mulsd  %xmm6,%xmm0
  addsd  %xmm3,%xmm11
  mulsd  %xmm12,%xmm11
  subsd  %xmm0,%xmm11
  movsd  %xmm11,0x20(%r9)
  movsd  0x20(%rbx),%xmm0
  mulsd  0x18(%rbx),%xmm1
  mulsd  %xmm2,%xmm0
  mulsd  %xmm6,%xmm2
  addsd  %xmm0,%xmm1
  mulsd  %xmm12,%xmm1
  subsd  %xmm2,%xmm1
  movsd  %xmm1,0x28(%r9)
  add    $0xe0,%rsp
  pop    %rbx
  pop    %r12
  pop    %r13
  ret
L28:
  mov    %r9,0x28(%rsp)
  mov    %r8,0x20(%rsp)
  mov    %rdx,0x18(%rsp)
  movsd  %xmm3,0x10(%rsp)
  movsd  %xmm8,0x8(%rsp)
  movsd  %xmm6,(%rsp)
  call   <sqrt@plt>
  mov    0x28(%rsp),%r9
  mov    0x20(%rsp),%r8
  mov    0x18(%rsp),%rdx
  movsd  0x10(%rsp),%xmm3
  movsd  0x8(%rsp),%xmm8
  movsd  (%rsp),%xmm6
  jmp    L24
L10:
  mov    %r9,0x20(%rsp)
  mov    %rdx,0x18(%rsp)
  movsd  %xmm4,0x10(%rsp)
  movsd  %xmm6,0x8(%rsp)
  movsd  %xmm3,(%rsp)
  call   <sqrt@plt>
  mov    0x20(%rsp),%r9
  mov    0x18(%rsp),%rdx
  movsd  0x10(%rsp),%xmm4
  movsd  0x8(%rsp),%xmm6
  movsd  (%rsp),%xmm3
  jmp    L16
```

tool_calls: name: parse_data
arguments: label: D110
type_guessed: f64
name: parse_data
arguments: label: D120
type_guessed: f32[4]

tool: D110: 1

tool: {"D120": [0.0,-0.0,0.0,0.0]}

assistant: ```c
void imgprojac_motstr(int j, int i, double *rt, double *xyz, double *jrt, double *jst, double **adata) {
  double *qr0, *r0 = adata[0], *a = adata[1];
  double t1, t2, t3, t5, t6, t7, t9, t11, t13, t15, t17, t19, t24, t31, t37, t39, t41, t43, t48, t52, t57, t62, t67, t72, t77, t89, t99, t106, t107, t119, t123, t124, t125, t129, t132, t135, t137, t141, t146, t151, t157, t170, t180, t187, t190, t193, t195, t199, t204, t209, t215, t228, t238, t255, t10, t16, t22, t28, t29, t32, t35, t36, t38, t42, t53, t58, t63, t65, t66, t78, t82, t83, t84, t92, t93, t95, t98, t111, t114, t127;
  qr0 = r0 + j * 4;
  t1 = pow(rt[0], 0.2e1);
  t2 = pow(rt[1], 0.2e1);
  t3 = pow(rt[2], 0.2e1);
  t5 = sqrt(0.1e1 - t1 - t2 - t3);
  t6 = 0.1e1 / t5;
  t7 = t6 * qr0[1];
  t9 = -t7 * rt[0] + qr0[0];
  t11 = t6 * qr0[2];
  t13 = -t11 * rt[0] - qr0[3];
  t15 = t6 * qr0[3];
  t17 = -t15 * rt[0] + qr0[2];
  t19 = -t9 * xyz[0] - t13 * xyz[1] - t17 * xyz[2];
  t24 = -t5 * qr0[1] - qr0[0] * rt[0] - rt[1] * qr0[3] + rt[2] * qr0[2];
  t31 = t5 * qr0[2] + qr0[0] * rt[1] + rt[2] * qr0[1] - rt[0] * qr0[3];
  t37 = t5 * qr0[3] + qr0[0] * rt[2] + rt[0] * qr0[2] - rt[1] * qr0[1];
  t39 = t24 * xyz[0] - t31 * xyz[1] - t37 * xyz[2];
  t41 = t6 * qr0[0];
  t43 = -t41 * rt[0] - qr0[1];
  t48 = t5 * qr0[0] - rt[0] * qr0[1] - rt[1] * qr0[2] - rt[2] * qr0[3];
  t52 = t48 * xyz[0] + t31 * xyz[2] - t37 * xyz[1];
  t57 = t43 * xyz[0] + t13 * xyz[2] - t17 * xyz[1];
  t62 = t43 * xyz[1] + t17 * xyz[0] - t9 * xyz[2];
  t67 = t48 * xyz[1] + t37 * xyz[0] + t24 * xyz[2];
  t72 = t43 * xyz[2] + t9 * xyz[1] - t13 * xyz[0];
  t77 = t48 * xyz[2] - t24 * xyz[1] - t31 * xyz[0];
  t89 = -t19 * t31 - t39 * t13 + t43 * t67 + t48 * t62 + t72 * t24 - t77 * t9 + t57 * t37 + t52 * t17;
  t99 = -t19 * t37 - t39 * t17 + t43 * t77 + t48 * t72 - t57 * t31 - t52 * t13 - t62 * t24 + t67 * t9;
  t106 = -t39 * t37 + t48 * t77 - t52 * t31 - t67 * t24 + rt[5];
  t107 = 0.1e1 / t106;
  t119 = -t39 * t31 + t48 * t67 + t77 * t24 + t52 * t37 + rt[4];
  t123 = t106 * t106;
  t124 = 0.1e1 / t123;
  t125 = (a[0] * (t39 * t24 + t48 * t52 - t67 * t37 + t77 * t31 + rt[3]) + a[1] * t119 + a[2] * t106) * t124;
  t129 = -t7 * rt[1] + qr0[3];
  t132 = -t11 * rt[1] + qr0[0];
  t135 = -t15 * rt[1] - qr0[1];
  t137 = -t129 * xyz[0] - t132 * xyz[1] - t135 * xyz[2];
  t141 = -t41 * rt[1] - qr0[2];
  t146 = t141 * xyz[0] + t132 * xyz[2] - t135 * xyz[1];
  t151 = t141 * xyz[1] + t135 * xyz[0] - t129 * xyz[2];
  t157 = t141 * xyz[2] + t129 * xyz[1] - t132 * xyz[0];
  t170 = -t137 * t31 - t39 * t132 + t141 * t67 + t48 * t151 + t157 * t24 - t77 * t129 + t146 * t37 + t52 * t135;
  t180 = -t137 * t37 - t39 * t135 + t141 * t77 + t48 * t157 - t146 * t31 - t52 * t132 - t151 * t24 + t67 * t129;
  t187 = -t7 * rt[2] - qr0[2];
  t190 = -t11 * rt[2] + qr0[1];
  t193 = -t15 * rt[2] + qr0[0];
  t195 = -t187 * xyz[0] - t190 * xyz[1] - t193 * xyz[2];
  t199 = -t41 * rt[2] - qr0[3];
  t204 = t199 * xyz[0] + t190 * xyz[2] - t193 * xyz[1];
  t209 = t199 * xyz[1] + t193 * xyz[0] - t187 * xyz[2];
  t215 = t199 * xyz[2] + t187 * xyz[1] - t190 * xyz[0];
  t228 = -t195 * t31 - t39 * t190 + t199 * t67 + t48 * t209 + t215 * t24 - t77 * t187 + t204 * t37 + t52 * t193;
  t238 = -t195 * t37 - t39 * t193 + t199 * t77 + t48 * t215 - t204 * t31 - t52 * t190 - t209 * t24 + t67 * t187;
  t255 = (a[3] * t119 + a[4] * t106) * t124;
  jrt[0] = (a[0] * (t19 * t24 - t39 * t9 + t43 * t52 + t48 * t57 - t62 * t37 - t67 * t17 + t72 * t31 + t77 * t13) + a[1] * t89 + a[2] * t99) * t107 - t125 * t99;
  jrt[1] = (a[0] * (t137 * t24 - t39 * t129 + t141 * t52 + t48 * t146 - t151 * t37 - t67 * t135 + t157 * t31 + t77 * t132) + a[1] * t170 + a[2] * t180) * t107 - t125 * t180;
  jrt[2] = (a[0] * (t195 * t24 - t39 * t187 + t199 * t52 + t48 * t204 - t209 * t37 - t67 * t193 + t215 * t31 + t77 * t190) + a[1] * t228 + a[2] * t238) * t107 - t125 * t238;
  jrt[3] = a[0] * t107;
  jrt[4] = a[1] * t107;
  jrt[5] = a[2] * t107 - t125;
  jrt[6] = (a[3] * t89 + a[4] * t99) * t107 - t255 * t99;
  jrt[7] = (a[3] * t170 + a[4] * t180) * t107 - t255 * t180;
  jrt[8] = (a[3] * t228 + a[4] * t238) * t107 - t255 * t238;
  jrt[9] = 0.0e0;
  jrt[10] = a[3] * t107;
  jrt[11] = a[4] * t107 - t255;
  t1 = pow(rt[0], 0.2e1);
  t2 = pow(rt[1], 0.2e1);
  t3 = pow(rt[2], 0.2e1);
  t5 = sqrt(0.1e1 - t1 - t2 - t3);
  t10 = -t5 * qr0[1] - qr0[0] * rt[0] - rt[1] * qr0[3] + rt[2] * qr0[2];
  t11 = t10 * t10;
  t16 = t5 * qr0[0] - rt[0] * qr0[1] - rt[1] * qr0[2] - rt[2] * qr0[3];
  t17 = t16 * t16;
  t22 = t5 * qr0[3] + qr0[0] * rt[2] + rt[0] * qr0[2] - rt[1] * qr0[1];
  t28 = -t5 * qr0[2] - qr0[0] * rt[1] - rt[2] * qr0[1] + rt[0] * qr0[3];
  t29 = t28 * t28;
  t32 = t10 * t28;
  t35 = -t16 * t22;
  t36 = 0.2e1 * t32 + t16 * t22 - t35;
  t38 = -t10 * t22;
  t39 = t16 * t28;
  t42 = t38 + 0.2e1 * t39 - t10 * t22;
  t48 = t10 * xyz[0] + t28 * xyz[1] - t22 * xyz[2];
  t53 = t16 * xyz[2] - t10 * xyz[1] + t28 * xyz[0];
  t58 = t16 * xyz[0] - t28 * xyz[2] - t22 * xyz[1];
  t63 = t16 * xyz[1] + t22 * xyz[0] + t10 * xyz[2];
  t65 = -t48 * t22 + t16 * t53 + t58 * t28 - t63 * t10 + rt[5];
  t66 = 0.1e1 / t65;
  t78 = t48 * t28 + t16 * t63 + t53 * t10 + t58 * t22 + rt[4];
  t82 = t65 * t65;
  t83 = 0.1e1 / t82;
  t84 = (a[0] * (t48 * t10 + t16 * t58 - t63 * t22 - t53 * t28 + rt[3]) + a[1] * t78 + a[2] * t65) * t83;
  t92 = t22 * t22;
  t93 = t29 + t17 - t10 * t10 - t92;
  t95 = -t28 * t22;
  t98 = t16 * t10;
  t99 = 0.2e1 * t95 - t16 * t10 - t98;
  t111 = t95 + 0.2e1 * t98 - t28 * t22;
  t114 = t92 + t17 - t28 * t28 - t11;
  t127 = (a[3] * t78 + a[4] * t65) * t83;
  jst[0] = (a[0] * (t11 + t17 - t22 * t22 - t29) + a[1] * t36 + a[2] * t42) * t66 - t84 * t42;
  jst[1] = (a[0] * (t32 + 0.2e1 * t35 + t10 * t28) + a[1] * t93 + a[2] * t99) * t66 - t84 * t99;
  jst[2] = (a[0] * (0.2e1 * t38 - t16 * t28 - t39) + a[1] * t111 + a[2] * t114) * t66 - t84 * t114;
  jst[3] = (a[3] * t36 + a[4] * t42) * t66 - t127 * t42;
  jst[4] = (a[3] * t93 + a[4] * t99) * t66 - t127 * t99;
  jst[5] = (a[3] * t111 + a[4] * t114) * t66 - t127 * t114;
}
```