user: 请从给定的汇编指令推导出C源代码:

```asm
<calcImgProjJacKRT>:
  endbr64
  sub    $0xe8,%rsp
  movsd  (%rdx),%xmm2
  mov    D20(%rip),%rax
  movsd  0x8(%rdx),%xmm11
  movsd  0x10(%rdx),%xmm3
  movapd %xmm2,%xmm1
  movq   %rax,%xmm0
  mulsd  %xmm2,%xmm1
  movsd  %xmm3,0x68(%rsp)
  subsd  %xmm1,%xmm0
  movapd %xmm11,%xmm1
  mulsd  %xmm11,%xmm1
  subsd  %xmm1,%xmm0
  movapd %xmm3,%xmm1
  mulsd  %xmm3,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  ucomisd %xmm0,%xmm1
  ja     L3
  sqrtsd %xmm0,%xmm0
L5:
  movsd  0x8(%rsi),%xmm6
  movsd  (%rsi),%xmm10
  movsd  0x18(%rsi),%xmm4
  movsd  0x68(%rsp),%xmm12
  movapd %xmm6,%xmm5
  movapd %xmm10,%xmm1
  movsd  0x10(%rsi),%xmm15
  movsd  (%r8),%xmm3
  mulsd  %xmm2,%xmm1
  movapd %xmm4,%xmm8
  movsd  %xmm10,0x48(%rsp)
  mov    D20(%rip),%rax
  mulsd  %xmm0,%xmm5
  movapd %xmm15,%xmm7
  movapd %xmm8,%xmm9
  movsd  %xmm8,0x50(%rsp)
  mulsd  %xmm0,%xmm7
  movapd %xmm6,%xmm8
  movsd  %xmm15,0x58(%rsp)
  mulsd  %xmm0,%xmm9
  movsd  %xmm8,0x70(%rsp)
  addsd  %xmm1,%xmm5
  movapd %xmm4,%xmm1
  mulsd  %xmm11,%xmm1
  addsd  %xmm1,%xmm5
  movapd %xmm12,%xmm1
  mulsd  %xmm15,%xmm1
  subsd  %xmm1,%xmm5
  movapd %xmm10,%xmm1
  mulsd  %xmm11,%xmm1
  addsd  %xmm1,%xmm7
  movapd %xmm12,%xmm1
  mulsd  %xmm6,%xmm1
  addsd  %xmm1,%xmm7
  movapd %xmm4,%xmm1
  movsd  0x8(%r8),%xmm4
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm7
  movapd %xmm12,%xmm1
  mulsd  %xmm10,%xmm1
  movapd %xmm8,%xmm10
  mulsd  %xmm2,%xmm10
  movapd %xmm7,%xmm14
  mulsd  %xmm4,%xmm14
  addsd  %xmm1,%xmm9
  movapd %xmm15,%xmm1
  movapd %xmm5,%xmm15
  mulsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm9
  movapd %xmm6,%xmm1
  movq   D24(%rip),%xmm6
  mulsd  %xmm11,%xmm1
  xorpd  %xmm6,%xmm15
  movapd %xmm15,%xmm12
  mulsd  %xmm3,%xmm12
  subsd  %xmm1,%xmm9
  movsd  0x10(%r8),%xmm1
  subsd  %xmm14,%xmm12
  movapd %xmm9,%xmm14
  mulsd  %xmm1,%xmm14
  subsd  %xmm14,%xmm12
  movapd %xmm7,%xmm14
  mulsd  %xmm1,%xmm14
  movapd %xmm12,%xmm13
  movsd  0x48(%rsp),%xmm12
  mulsd  %xmm0,%xmm12
  subsd  %xmm10,%xmm12
  movsd  0x58(%rsp),%xmm10
  mulsd  %xmm11,%xmm10
  subsd  %xmm10,%xmm12
  movsd  0x68(%rsp),%xmm10
  mulsd  0x50(%rsp),%xmm10
  subsd  %xmm10,%xmm12
  movapd %xmm12,%xmm10
  mulsd  %xmm3,%xmm10
  addsd  %xmm14,%xmm10
  movapd %xmm4,%xmm14
  mulsd  %xmm9,%xmm14
  subsd  %xmm14,%xmm10
  movapd %xmm3,%xmm14
  mulsd  %xmm9,%xmm14
  xorpd  %xmm6,%xmm9
  movsd  %xmm9,0x10(%rsp)
  movapd %xmm12,%xmm9
  movsd  %xmm10,0x28(%rsp)
  movapd %xmm12,%xmm10
  mulsd  %xmm4,%xmm10
  mulsd  %xmm1,%xmm9
  addsd  %xmm14,%xmm10
  movapd %xmm5,%xmm14
  mulsd  %xmm4,%xmm5
  mulsd  %xmm1,%xmm14
  addsd  %xmm5,%xmm9
  movapd %xmm3,%xmm5
  mulsd  %xmm7,%xmm5
  subsd  %xmm14,%xmm10
  xorpd  %xmm6,%xmm7
  movapd %xmm7,%xmm14
  movapd %xmm15,%xmm7
  movapd %xmm9,%xmm8
  movsd  0x10(%rsp),%xmm9
  movsd  %xmm14,0x20(%rsp)
  movsd  %xmm10,0x8(%rsp)
  movsd  0x28(%rsp),%xmm10
  mulsd  %xmm13,%xmm7
  subsd  %xmm5,%xmm8
  movapd %xmm12,%xmm5
  mulsd  %xmm10,%xmm5
  movsd  %xmm8,0x18(%rsp)
  movapd %xmm15,%xmm8
  movsd  0x18(%rsp),%xmm15
  mulsd  %xmm14,%xmm15
  addsd  %xmm7,%xmm5
  movsd  0x8(%rsp),%xmm7
  mulsd  %xmm9,%xmm7
  addsd  %xmm7,%xmm5
  movapd %xmm13,%xmm7
  mulsd  %xmm9,%xmm7
  movapd %xmm8,%xmm9
  subsd  %xmm15,%xmm5
  addsd  (%rcx),%xmm5
  movapd %xmm5,%xmm15
  movsd  0x18(%rsp),%xmm5
  mulsd  %xmm12,%xmm5
  addsd  %xmm7,%xmm5
  movapd %xmm10,%xmm7
  mulsd  %xmm14,%xmm7
  movq   %rax,%xmm14
  addsd  %xmm7,%xmm5
  movsd  0x8(%rsp),%xmm7
  mulsd  %xmm8,%xmm7
  subsd  %xmm7,%xmm5
  addsd  0x10(%rcx),%xmm5
  divsd  %xmm5,%xmm14
  movsd  %xmm5,0x78(%rsp)
  movapd %xmm14,%xmm8
  movapd %xmm15,%xmm14
  mulsd  %xmm8,%xmm14
  movsd  %xmm14,(%r9)
  movsd  0x18(%rdi),%xmm7
  movsd  0x8(%rsp),%xmm5
  mulsd  0x10(%rsp),%xmm10
  movsd  %xmm13,0x38(%rsp)
  movapd %xmm7,%xmm14
  movsd  0x20(%rsp),%xmm7
  movsd  %xmm12,0x40(%rsp)
  mulsd  %xmm12,%xmm5
  movsd  %xmm9,0x30(%rsp)
  movsd  %xmm14,0xd8(%rsp)
  mulsd  %xmm13,%xmm7
  addsd  %xmm7,%xmm5
  movsd  0x18(%rsp),%xmm7
  mulsd  %xmm9,%xmm7
  addsd  %xmm7,%xmm5
  movapd %xmm14,%xmm7
  movapd %xmm8,%xmm14
  subsd  %xmm10,%xmm5
  addsd  0x8(%rcx),%xmm5
  mov    %rax,0x8(%r9)
  mov    %rax,0x68(%r9)
  movq   $0x0,0x60(%r9)
  mulsd  %xmm5,%xmm7
  movq   $0x0,0x10(%r9)
  mulsd  %xmm5,%xmm14
  movq   $0x0,0x18(%r9)
  mulsd  %xmm8,%xmm7
  movsd  %xmm7,0x58(%r9)
  movsd  (%rdi),%xmm13
  movsd  %xmm14,0x20(%r9)
  movq   %rax,%xmm14
  divsd  %xmm0,%xmm14
  movapd %xmm13,%xmm7
  movsd  0x70(%rsp),%xmm0
  movsd  %xmm13,0x60(%rsp)
  mulsd  %xmm5,%xmm7
  movsd  0x58(%rsp),%xmm13
  movq   $0x0,0x78(%r9)
  mulsd  %xmm8,%xmm7
  movsd  %xmm7,0x70(%r9)
  movsd  0x48(%rsp),%xmm7
  mulsd  %xmm14,%xmm0
  movapd %xmm14,%xmm10
  mulsd  0x48(%rsp),%xmm10
  xorpd  %xmm6,%xmm0
  movsd  %xmm0,0xa8(%rsp)
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm7
  movapd %xmm13,%xmm0
  mulsd  %xmm14,%xmm0
  xorpd  %xmm6,%xmm0
  movsd  %xmm0,0xb0(%rsp)
  movapd %xmm0,%xmm12
  mulsd  %xmm2,%xmm12
  movapd %xmm12,%xmm0
  movsd  0x50(%rsp),%xmm12
  movapd %xmm12,%xmm9
  subsd  %xmm12,%xmm0
  mulsd  %xmm14,%xmm9
  movapd %xmm7,%xmm14
  xorpd  %xmm6,%xmm14
  movapd %xmm14,%xmm12
  mulsd  %xmm3,%xmm14
  xorpd  %xmm6,%xmm9
  movsd  %xmm9,0xb8(%rsp)
  mulsd  %xmm2,%xmm9
  movq   %xmm14,%rax
  movapd %xmm4,%xmm14
  mulsd  %xmm0,%xmm14
  addsd  %xmm13,%xmm9
  movapd %xmm14,%xmm13
  movq   %rax,%xmm14
  subsd  %xmm13,%xmm14
  movq   %xmm14,%rax
  movapd %xmm1,%xmm14
  mulsd  %xmm9,%xmm14
  movapd %xmm14,%xmm13
  movq   %rax,%xmm14
  subsd  %xmm13,%xmm14
  movsd  %xmm14,0x90(%rsp)
  movapd %xmm10,%xmm14
  movapd %xmm3,%xmm10
  xorpd  %xmm6,%xmm14
  movsd  %xmm14,0xc0(%rsp)
  mulsd  %xmm14,%xmm2
  movapd %xmm1,%xmm14
  subsd  0x70(%rsp),%xmm2
  mulsd  %xmm0,%xmm14
  mulsd  %xmm2,%xmm10
  addsd  %xmm14,%xmm10
  movapd %xmm4,%xmm14
  mulsd  %xmm9,%xmm14
  subsd  %xmm14,%xmm10
  movapd %xmm4,%xmm14
  mulsd  %xmm2,%xmm14
  movsd  %xmm10,0x98(%rsp)
  mulsd  0x60(%rsp),%xmm15
  movapd %xmm14,%xmm10
  movapd %xmm3,%xmm14
  mulsd  %xmm9,%xmm14
  xorpd  %xmm6,%xmm9
  addsd  %xmm14,%xmm10
  movapd %xmm1,%xmm14
  mulsd  %xmm7,%xmm14
  mulsd  %xmm4,%xmm7
  movapd %xmm14,%xmm13
  movapd %xmm10,%xmm14
  movapd %xmm1,%xmm10
  mulsd  %xmm2,%xmm10
  subsd  %xmm13,%xmm14
  movsd  0x38(%rsp),%xmm13
  movsd  %xmm14,0xc8(%rsp)
  addsd  %xmm7,%xmm10
  movapd %xmm3,%xmm7
  mulsd  %xmm0,%xmm7
  xorpd  %xmm6,%xmm0
  mulsd  %xmm0,%xmm13
  subsd  %xmm7,%xmm10
  movsd  0x20(%rdi),%xmm7
  movsd  %xmm7,0x80(%rsp)
  movsd  0x20(%rsp),%xmm7
  mulsd  0x90(%rsp),%xmm7
  addsd  %xmm7,%xmm13
  movsd  0x8(%rsp),%xmm7
  mulsd  %xmm2,%xmm7
  addsd  %xmm13,%xmm7
  movsd  0x40(%rsp),%xmm13
  mulsd  %xmm14,%xmm13
  addsd  %xmm7,%xmm13
  movsd  0x30(%rsp),%xmm7
  mulsd  %xmm10,%xmm7
  addsd  %xmm13,%xmm7
  movsd  0x18(%rsp),%xmm13
  mulsd  %xmm12,%xmm13
  addsd  %xmm13,%xmm7
  movsd  0x10(%rsp),%xmm13
  mulsd  0x98(%rsp),%xmm13
  subsd  %xmm13,%xmm7
  movsd  0x28(%rsp),%xmm13
  mulsd  %xmm9,%xmm13
  movapd %xmm7,%xmm14
  movsd  0x8(%rdi),%xmm7
  movsd  %xmm7,0x88(%rsp)
  movsd  0x10(%rsp),%xmm7
  mulsd  0x90(%rsp),%xmm7
  subsd  %xmm13,%xmm14
  movsd  0x38(%rsp),%xmm13
  mulsd  %xmm9,%xmm13
  movsd  %xmm14,0xd0(%rsp)
  movsd  0x78(%rsp),%xmm14
  addsd  %xmm7,%xmm13
  movsd  0x18(%rsp),%xmm7
  mulsd  %xmm2,%xmm7
  addsd  %xmm13,%xmm7
  movsd  0x40(%rsp),%xmm13
  mulsd  %xmm10,%xmm13
  addsd  %xmm7,%xmm13
  movsd  0x20(%rsp),%xmm7
  mulsd  0x98(%rsp),%xmm7
  addsd  %xmm13,%xmm7
  movsd  0x28(%rsp),%xmm13
  mulsd  %xmm0,%xmm13
  addsd  %xmm13,%xmm7
  movsd  0x30(%rsp),%xmm13
  mulsd  0xc8(%rsp),%xmm13
  subsd  %xmm13,%xmm7
  movsd  0x8(%rsp),%xmm13
  mulsd  %xmm12,%xmm13
  subsd  %xmm13,%xmm7
  movapd %xmm14,%xmm13
  mulsd  %xmm14,%xmm13
  movsd  D20(%rip),%xmm14
  divsd  %xmm13,%xmm14
  movsd  0x80(%rsp),%xmm13
  mulsd  %xmm5,%xmm13
  addsd  %xmm15,%xmm13
  movsd  0x78(%rsp),%xmm15
  mulsd  0x88(%rsp),%xmm15
  mulsd  0x38(%rsp),%xmm12
  mulsd  0x28(%rsp),%xmm2
  mulsd  0x8(%rsp),%xmm9
  mulsd  0x20(%rsp),%xmm10
  addsd  %xmm15,%xmm13
  movapd %xmm13,%xmm15
  movsd  0x90(%rsp),%xmm13
  mulsd  0x30(%rsp),%xmm13
  addsd  %xmm13,%xmm12
  movsd  0xc8(%rsp),%xmm13
  mulsd  0x10(%rsp),%xmm13
  addsd  %xmm12,%xmm2
  movsd  0x98(%rsp),%xmm12
  mulsd  %xmm14,%xmm15
  movsd  %xmm15,0xa0(%rsp)
  movsd  0x40(%rsp),%xmm15
  mulsd  %xmm15,%xmm12
  addsd  %xmm2,%xmm12
  movapd %xmm13,%xmm2
  addsd  %xmm12,%xmm2
  movsd  0x18(%rsp),%xmm12
  mulsd  %xmm0,%xmm12
  addsd  %xmm9,%xmm2
  movsd  0xd8(%rsp),%xmm9
  subsd  %xmm10,%xmm2
  subsd  %xmm12,%xmm2
  movsd  0x60(%rsp),%xmm12
  mulsd  %xmm12,%xmm9
  movapd %xmm2,%xmm0
  movsd  0x80(%rsp),%xmm2
  mulsd  %xmm12,%xmm0
  movapd %xmm1,%xmm12
  mulsd  0xd0(%rsp),%xmm2
  mulsd  %xmm9,%xmm5
  addsd  %xmm0,%xmm2
  movsd  0x88(%rsp),%xmm0
  mulsd  %xmm7,%xmm0
  addsd  %xmm0,%xmm2
  movsd  0xa0(%rsp),%xmm0
  mulsd  %xmm7,%xmm0
  mulsd  %xmm8,%xmm2
  subsd  %xmm0,%xmm2
  movsd  0x78(%rsp),%xmm0
  movsd  %xmm9,0x78(%rsp)
  movsd  %xmm2,0x28(%r9)
  movsd  0x10(%rdi),%xmm10
  movapd %xmm1,%xmm2
  movsd  %xmm10,0x90(%rsp)
  mulsd  %xmm10,%xmm0
  addsd  %xmm0,%xmm5
  mulsd  %xmm14,%xmm5
  movsd  0xd0(%rsp),%xmm14
  mulsd  %xmm9,%xmm14
  movsd  0x48(%rsp),%xmm9
  movsd  %xmm5,0x98(%rsp)
  movapd %xmm14,%xmm0
  movapd %xmm10,%xmm14
  mulsd  %xmm7,%xmm14
  mulsd  %xmm5,%xmm7
  movsd  0xa8(%rsp),%xmm5
  mulsd  %xmm11,%xmm5
  addsd  0x50(%rsp),%xmm5
  addsd  %xmm14,%xmm0
  movsd  0xb0(%rsp),%xmm14
  mulsd  %xmm11,%xmm14
  mulsd  %xmm8,%xmm0
  addsd  %xmm14,%xmm9
  subsd  %xmm7,%xmm0
  movsd  0xb8(%rsp),%xmm7
  mulsd  %xmm11,%xmm7
  movsd  %xmm0,0x80(%r9)
  movapd %xmm4,%xmm0
  mulsd  %xmm9,%xmm0
  mulsd  %xmm9,%xmm2
  movapd %xmm7,%xmm10
  movapd %xmm5,%xmm7
  subsd  0x70(%rsp),%xmm10
  xorpd  %xmm6,%xmm7
  movapd %xmm7,%xmm14
  mulsd  %xmm3,%xmm7
  movapd %xmm7,%xmm13
  movapd %xmm3,%xmm7
  subsd  %xmm0,%xmm13
  mulsd  %xmm10,%xmm7
  movapd %xmm1,%xmm0
  mulsd  %xmm10,%xmm0
  subsd  %xmm0,%xmm13
  movsd  0xc0(%rsp),%xmm0
  mulsd  %xmm11,%xmm0
  movapd %xmm3,%xmm11
  subsd  0x58(%rsp),%xmm0
  mulsd  %xmm0,%xmm11
  mulsd  %xmm0,%xmm12
  addsd  %xmm2,%xmm11
  movapd %xmm4,%xmm2
  mulsd  %xmm10,%xmm2
  xorpd  %xmm6,%xmm10
  subsd  %xmm2,%xmm11
  movapd %xmm4,%xmm2
  mulsd  %xmm0,%xmm2
  addsd  %xmm7,%xmm2
  movapd %xmm1,%xmm7
  mulsd  %xmm5,%xmm7
  mulsd  %xmm4,%xmm5
  subsd  %xmm7,%xmm2
  movsd  0x38(%rsp),%xmm7
  addsd  %xmm5,%xmm12
  movapd %xmm3,%xmm5
  mulsd  %xmm9,%xmm5
  xorpd  %xmm6,%xmm9
  mulsd  %xmm9,%xmm7
  subsd  %xmm5,%xmm12
  movsd  0x20(%rsp),%xmm5
  mulsd  %xmm13,%xmm5
  addsd  %xmm5,%xmm7
  movsd  0x8(%rsp),%xmm5
  mulsd  %xmm0,%xmm5
  addsd  %xmm7,%xmm5
  movapd %xmm15,%xmm7
  movsd  0x10(%rsp),%xmm15
  mulsd  %xmm2,%xmm7
  addsd  %xmm5,%xmm7
  movsd  0x30(%rsp),%xmm5
  mulsd  %xmm12,%xmm5
  addsd  %xmm7,%xmm5
  movsd  0x18(%rsp),%xmm7
  mulsd  %xmm14,%xmm7
  addsd  %xmm7,%xmm5
  movapd %xmm15,%xmm7
  mulsd  %xmm11,%xmm7
  subsd  %xmm7,%xmm5
  movsd  0x28(%rsp),%xmm7
  mulsd  %xmm10,%xmm7
  subsd  %xmm7,%xmm5
  movapd %xmm15,%xmm7
  movsd  0x38(%rsp),%xmm15
  mulsd  %xmm13,%xmm7
  mulsd  %xmm10,%xmm15
  mulsd  0x30(%rsp),%xmm13
  addsd  %xmm7,%xmm15
  movsd  0x18(%rsp),%xmm7
  mulsd  %xmm0,%xmm7
  mulsd  0x28(%rsp),%xmm0
  addsd  %xmm15,%xmm7
  movsd  0x40(%rsp),%xmm15
  mulsd  %xmm12,%xmm15
  mulsd  0x20(%rsp),%xmm12
  addsd  %xmm7,%xmm15
  movsd  0x20(%rsp),%xmm7
  mulsd  %xmm11,%xmm7
  addsd  %xmm15,%xmm7
  movsd  0x28(%rsp),%xmm15
  mulsd  %xmm9,%xmm15
  mulsd  0x18(%rsp),%xmm9
  addsd  %xmm15,%xmm7
  movsd  0x30(%rsp),%xmm15
  mulsd  %xmm2,%xmm15
  mulsd  0x10(%rsp),%xmm2
  subsd  %xmm15,%xmm7
  movsd  0x8(%rsp),%xmm15
  mulsd  %xmm14,%xmm15
  mulsd  0x38(%rsp),%xmm14
  subsd  %xmm15,%xmm7
  movsd  0x40(%rsp),%xmm15
  addsd  %xmm13,%xmm14
  movapd %xmm3,%xmm13
  mulsd  %xmm15,%xmm11
  addsd  %xmm14,%xmm0
  movsd  0x8(%rsp),%xmm14
  mulsd  %xmm14,%xmm10
  addsd  %xmm0,%xmm11
  addsd  %xmm11,%xmm2
  movsd  0x88(%rsp),%xmm11
  mulsd  %xmm7,%xmm11
  addsd  %xmm10,%xmm2
  subsd  %xmm12,%xmm2
  movapd %xmm3,%xmm12
  movapd %xmm2,%xmm0
  movsd  0x80(%rsp),%xmm2
  subsd  %xmm9,%xmm0
  mulsd  0x60(%rsp),%xmm0
  mulsd  %xmm5,%xmm2
  mulsd  0x78(%rsp),%xmm5
  addsd  %xmm0,%xmm2
  movsd  0xa0(%rsp),%xmm0
  mulsd  %xmm7,%xmm0
  addsd  %xmm11,%xmm2
  mulsd  %xmm8,%xmm2
  subsd  %xmm0,%xmm2
  movsd  0x90(%rsp),%xmm0
  mulsd  %xmm7,%xmm0
  movsd  %xmm2,0x30(%r9)
  mulsd  0x98(%rsp),%xmm7
  movsd  0x68(%rsp),%xmm11
  movsd  0xb0(%rsp),%xmm10
  movsd  0x48(%rsp),%xmm2
  movsd  0xa8(%rsp),%xmm9
  mulsd  %xmm11,%xmm10
  addsd  %xmm0,%xmm5
  movsd  0x70(%rsp),%xmm0
  mulsd  %xmm11,%xmm9
  subsd  0x58(%rsp),%xmm9
  mulsd  %xmm8,%xmm5
  addsd  %xmm10,%xmm0
  movsd  0xb8(%rsp),%xmm10
  mulsd  %xmm11,%xmm10
  subsd  %xmm7,%xmm5
  movsd  %xmm5,0x88(%r9)
  addsd  %xmm10,%xmm2
  movapd %xmm9,%xmm10
  movapd %xmm4,%xmm5
  mulsd  %xmm0,%xmm5
  xorpd  %xmm6,%xmm10
  movapd %xmm10,%xmm7
  mulsd  %xmm3,%xmm7
  mulsd  %xmm2,%xmm13
  mulsd  %xmm0,%xmm3
  subsd  %xmm5,%xmm7
  movapd %xmm1,%xmm5
  mulsd  %xmm2,%xmm5
  subsd  %xmm5,%xmm7
  movsd  0xc0(%rsp),%xmm5
  mulsd  %xmm11,%xmm5
  movapd %xmm1,%xmm11
  subsd  0x50(%rsp),%xmm5
  mulsd  %xmm0,%xmm11
  xorpd  %xmm6,%xmm0
  mulsd  %xmm5,%xmm12
  addsd  %xmm11,%xmm12
  movapd %xmm4,%xmm11
  mulsd  %xmm2,%xmm11
  xorpd  %xmm6,%xmm2
  movsd  0x10(%rsp),%xmm6
  subsd  %xmm11,%xmm12
  movapd %xmm4,%xmm11
  mulsd  %xmm5,%xmm11
  mulsd  %xmm9,%xmm4
  addsd  %xmm13,%xmm11
  movapd %xmm1,%xmm13
  mulsd  %xmm5,%xmm1
  mulsd  %xmm9,%xmm13
  movsd  0x38(%rsp),%xmm9
  addsd  %xmm4,%xmm1
  movapd %xmm9,%xmm4
  mulsd  %xmm0,%xmm4
  subsd  %xmm13,%xmm11
  movsd  0x28(%rsp),%xmm13
  subsd  %xmm3,%xmm1
  movsd  0x20(%rsp),%xmm3
  mulsd  %xmm7,%xmm3
  addsd  %xmm3,%xmm4
  movapd %xmm14,%xmm3
  movsd  0x30(%rsp),%xmm14
  mulsd  %xmm5,%xmm3
  addsd  %xmm4,%xmm3
  movapd %xmm15,%xmm4
  mulsd  %xmm11,%xmm4
  addsd  %xmm3,%xmm4
  movapd %xmm14,%xmm3
  mulsd  %xmm1,%xmm3
  addsd  %xmm4,%xmm3
  movsd  0x18(%rsp),%xmm4
  mulsd  %xmm10,%xmm4
  addsd  %xmm4,%xmm3
  movapd %xmm6,%xmm4
  mulsd  %xmm12,%xmm4
  subsd  %xmm4,%xmm3
  movapd %xmm13,%xmm4
  mulsd  %xmm2,%xmm4
  subsd  %xmm4,%xmm3
  movapd %xmm6,%xmm4
  movapd %xmm9,%xmm6
  mulsd  %xmm7,%xmm4
  mulsd  %xmm2,%xmm6
  mulsd  %xmm14,%xmm7
  mulsd  0x8(%rsp),%xmm2
  addsd  %xmm4,%xmm6
  movsd  0x18(%rsp),%xmm4
  mulsd  %xmm5,%xmm4
  mulsd  %xmm13,%xmm5
  addsd  %xmm6,%xmm4
  movapd %xmm15,%xmm6
  mulsd  %xmm1,%xmm6
  mulsd  %xmm12,%xmm15
  mulsd  0x20(%rsp),%xmm1
  addsd  %xmm4,%xmm6
  movsd  0x20(%rsp),%xmm4
  mulsd  %xmm12,%xmm4
  addsd  %xmm6,%xmm4
  movapd %xmm13,%xmm6
  mulsd  %xmm0,%xmm6
  mulsd  0x18(%rsp),%xmm0
  addsd  %xmm6,%xmm4
  movapd %xmm14,%xmm6
  movsd  0xa0(%rsp),%xmm14
  mulsd  %xmm11,%xmm6
  subsd  %xmm6,%xmm4
  movsd  0x8(%rsp),%xmm6
  mulsd  %xmm10,%xmm6
  mulsd  %xmm9,%xmm10
  subsd  %xmm6,%xmm4
  movsd  0x80(%rsp),%xmm6
  addsd  %xmm7,%xmm10
  movsd  0x10(%rsp),%xmm7
  mulsd  %xmm11,%xmm7
  movsd  0x98(%rsp),%xmm11
  addsd  %xmm10,%xmm5
  addsd  %xmm15,%xmm5
  addsd  %xmm7,%xmm5
  movsd  0x60(%rsp),%xmm7
  addsd  %xmm2,%xmm5
  movsd  0x88(%rsp),%xmm2
  subsd  %xmm1,%xmm5
  movsd  0x78(%rsp),%xmm1
  subsd  %xmm0,%xmm5
  movapd %xmm6,%xmm0
  mulsd  %xmm3,%xmm0
  mulsd  %xmm1,%xmm3
  mulsd  %xmm7,%xmm5
  mulsd  %xmm8,%xmm6
  mulsd  %xmm8,%xmm1
  addsd  %xmm0,%xmm5
  movapd %xmm2,%xmm0
  mulsd  %xmm4,%xmm0
  mulsd  %xmm8,%xmm2
  addsd  %xmm0,%xmm5
  movapd %xmm14,%xmm0
  mulsd  %xmm4,%xmm0
  mulsd  %xmm8,%xmm5
  subsd  %xmm0,%xmm5
  movsd  %xmm5,0x38(%r9)
  movsd  0x90(%rsp),%xmm5
  movapd %xmm5,%xmm0
  mulsd  %xmm4,%xmm0
  mulsd  %xmm11,%xmm4
  addsd  %xmm0,%xmm3
  movapd %xmm7,%xmm0
  mulsd  %xmm8,%xmm0
  mulsd  %xmm8,%xmm3
  subsd  %xmm4,%xmm3
  movsd  %xmm3,0x90(%r9)
  movsd  %xmm0,0x40(%r9)
  movapd %xmm2,%xmm0
  subsd  %xmm14,%xmm0
  movsd  %xmm6,0x48(%r9)
  movq   $0x0,0x98(%r9)
  movsd  %xmm1,0xa0(%r9)
  movsd  %xmm0,0x50(%r9)
  movapd %xmm5,%xmm0
  mulsd  %xmm8,%xmm0
  subsd  %xmm11,%xmm0
  movsd  %xmm0,0xa8(%r9)
  add    $0xe8,%rsp
  ret
L3:
  mov    %r9,0x38(%rsp)
  mov    %r8,0x30(%rsp)
  mov    %rcx,0x28(%rsp)
  mov    %rsi,0x20(%rsp)
  mov    %rdi,0x18(%rsp)
  movsd  %xmm11,0x10(%rsp)
  movsd  %xmm2,0x8(%rsp)
  call   <sqrt@plt>
  mov    0x38(%rsp),%r9
  mov    0x30(%rsp),%r8
  mov    0x28(%rsp),%rcx
  mov    0x20(%rsp),%rsi
  mov    0x18(%rsp),%rdi
  movsd  0x10(%rsp),%xmm11
  movsd  0x8(%rsp),%xmm2
  jmp    L5
```

tool_calls: name: parse_data
arguments: tag: D20
datatype: f64
name: parse_data
arguments: tag: D24
datatype: f32[2]

tool: D20: 1

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

assistant: ```c
void calcImgProjJacKRT(double a[5], double qr0[4], double v[3], double t[3], double M[3], double jacmKRT[2][11]) {
  double t1;
  double t102;
  double t107;
  double t109;
  double t11;
  double t114;
  double t116;
  double t120;
  double t129;
  double t13;
  double t131;
  double t140;
  double t148;
  double t149;
  double t15;
  double t150;
  double t152;
  double t154;
  double t161;
  double t164;
  double t167;
  double t17;
  double t170;
  double t172;
  double t174;
  double t177;
  double t18;
  double t182;
  double t187;
  double t189;
  double t194;
  double t196;
  double t2;
  double t208;
  double t218;
  double t229;
  double t232;
  double t235;
  double t237;
  double t239;
  double t24;
  double t242;
  double t247;
  double t25;
  double t252;
  double t254;
  double t259;
  double t261;
  double t273;
  double t283;
  double t3;
  double t31;
  double t32;
  double t34;
  double t35;
  double t4;
  double t41;
  double t45;
  double t5;
  double t50;
  double t51;
  double t56;
  double t57;
  double t6;
  double t60;
  double t66;
  double t67;
  double t68;
  double t74;
  double t76;
  double t78;
  double t79;
  double t8;
  double t81;
  double t83;
  double t85;
  double t87;
  double t89;
  double t9;
  double t91;
  double t93;
  double t95;
  double t97;
  {
    t1 = v[0];
    t2 = t1 * t1;
    t3 = v[1];
    t4 = t3 * t3;
    t5 = v[2];
    t6 = t5 * t5;
    t8 = sqrt(1.0 - t2 - t4 - t6);
    t9 = qr0[1];
    t11 = qr0[0];
    t13 = qr0[3];
    t15 = qr0[2];
    t17 = t8 * t9 + t11 * t1 + t13 * t3 - t5 * t15;
    t18 = M[0];
    t24 = t8 * t15 + t3 * t11 + t5 * t9 - t13 * t1;
    t25 = M[1];
    t31 = t8 * t13 + t5 * t11 + t1 * t15 - t3 * t9;
    t32 = M[2];
    t34 = -t17 * t18 - t24 * t25 - t31 * t32;
    t35 = -t17;
    t41 = t11 * t8 - t1 * t9 - t3 * t15 - t5 * t13;
    t45 = t41 * t18 + t24 * t32 - t31 * t25;
    t50 = t41 * t25 + t31 * t18 - t17 * t32;
    t51 = -t31;
    t56 = t41 * t32 + t17 * t25 - t24 * t18;
    t57 = -t24;
    t60 = t34 * t35 + t41 * t45 + t50 * t51 - t56 * t57 + t[0];
    t66 = t34 * t51 + t41 * t56 + t45 * t57 - t50 * t35 + t[2];
    t67 = 1 / t66;
    jacmKRT[0][0] = t60 * t67;
    t68 = a[3];
    t74 = t34 * t57 + t41 * t50 + t56 * t35 - t45 * t51 + t[1];
    jacmKRT[1][0] = t68 * t74 * t67;
    jacmKRT[0][1] = 1.0;
    jacmKRT[1][1] = 0.0;
    jacmKRT[0][2] = 0.0;
    jacmKRT[1][2] = 1.0;
    jacmKRT[0][3] = 0.0;
    t76 = a[0];
    jacmKRT[1][3] = t76 * t74 * t67;
    jacmKRT[0][4] = t74 * t67;
    jacmKRT[1][4] = 0.0;
    t78 = 1 / t8;
    t79 = t78 * t9;
    t81 = -t79 * t1 + t11;
    t83 = t78 * t15;
    t85 = -t83 * t1 - t13;
    t87 = t78 * t13;
    t89 = -t87 * t1 + t15;
    t91 = -t81 * t18 - t85 * t25 - t89 * t32;
    t93 = -t81;
    t95 = t78 * t11;
    t97 = -t95 * t1 - t9;
    t102 = t97 * t18 + t85 * t32 - t89 * t25;
    t107 = t97 * t25 + t89 * t18 - t81 * t32;
    t109 = -t89;
    t114 = t97 * t32 + t81 * t25 - t85 * t18;
    t116 = -t85;
    t120 = a[4];
    t129 = t91 * t57 + t34 * t116 + t97 * t50 + t41 * t107 + t114 * t35 + t56 * t93 - t102 * t51 - t45 * t109;
    t131 = a[1];
    t140 = t91 * t51 + t34 * t109 + t97 * t56 + t41 * t114 + t102 * t57 + t45 * t116 - t107 * t35 - t50 * t93;
    t148 = t66 * t66;
    t149 = 1 / t148;
    t150 = (t76 * t60 + t120 * t74 + t131 * t66) * t149;
    jacmKRT[0][5] = (t76 * (t91 * t35 + t34 * t93 + t97 * t45 + t41 * t102 + t107 * t51 + t50 * t109 - t114 * t57 - t56 * t116) + t129 * t120 + t131 * t140) * t67 - t150 * t140;
    t152 = t76 * t68;
    t154 = a[2];
    t161 = (t152 * t74 + t154 * t66) * t149;
    jacmKRT[1][5] = (t152 * t129 + t154 * t140) * t67 - t161 * t140;
    t164 = -t79 * t3 + t13;
    t167 = -t83 * t3 + t11;
    t170 = -t87 * t3 - t9;
    t172 = -t164 * t18 - t167 * t25 - t170 * t32;
    t174 = -t164;
    t177 = -t95 * t3 - t15;
    t182 = t177 * t18 + t167 * t32 - t170 * t25;
    t187 = t177 * t25 + t170 * t18 - t164 * t32;
    t189 = -t170;
    t194 = t177 * t32 + t164 * t25 - t167 * t18;
    t196 = -t167;
    t208 = t172 * t57 + t34 * t196 + t177 * t50 + t41 * t187 + t194 * t35 + t56 * t174 - t182 * t51 - t45 * t189;
    t218 = t172 * t51 + t34 * t189 + t177 * t56 + t41 * t194 + t182 * t57 + t45 * t196 - t187 * t35 - t50 * t174;
    jacmKRT[0][6] = (t76 * (t172 * t35 + t34 * t174 + t177 * t45 + t41 * t182 + t187 * t51 + t50 * t189 - t194 * t57 - t56 * t196) + t120 * t208 + t131 * t218) * t67 - t150 * t218;
    jacmKRT[1][6] = (t152 * t208 + t154 * t218) * t67 - t161 * t218;
    t229 = -t79 * t5 - t15;
    t232 = -t83 * t5 + t9;
    t235 = -t87 * t5 + t11;
    t237 = -t229 * t18 - t232 * t25 - t235 * t32;
    t239 = -t229;
    t242 = -t95 * t5 - t13;
    t247 = t242 * t18 + t232 * t32 - t235 * t25;
    t252 = t242 * t25 + t235 * t18 - t229 * t32;
    t254 = -t235;
    t259 = t242 * t32 + t229 * t25 - t232 * t18;
    t261 = -t232;
    t273 = t237 * t57 + t261 * t34 + t242 * t50 + t41 * t252 + t259 * t35 + t56 * t239 - t247 * t51 - t45 * t254;
    t283 = t237 * t51 + t34 * t254 + t242 * t56 + t41 * t259 + t247 * t57 + t45 * t261 - t252 * t35 - t50 * t239;
    jacmKRT[0][7] = (t76 * (t237 * t35 + t34 * t239 + t242 * t45 + t41 * t247 + t252 * t51 + t50 * t254 - t259 * t57 - t56 * t261) + t120 * t273 + t131 * t283) * t67 - t150 * t283;
    jacmKRT[1][7] = (t152 * t273 + t154 * t283) * t67 - t161 * t283;
    jacmKRT[0][8] = t76 * t67;
    jacmKRT[1][8] = 0.0;
    jacmKRT[0][9] = t120 * t67;
    jacmKRT[1][9] = t152 * t67;
    jacmKRT[0][10] = t131 * t67 - t150;
    jacmKRT[1][10] = t154 * t67 - t161;
    return;
  }
}
```