user: What would the C source look like for the assembly code provided here?

```asm
<imgprojac_str>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x160,%rsp
  mov    %edi,-0x134(%rbp)
  mov    %esi,-0x138(%rbp)
  mov    %rdx,-0x140(%rbp)
  mov    %rcx,-0x148(%rbp)
  mov    %r8,-0x150(%rbp)
  mov    %r9,-0x158(%rbp)
  mov    -0x158(%rbp),%rax
  mov    (%rax),%rax
  mov    %rax,-0x130(%rbp)
  mov    -0x158(%rbp),%rax
  mov    0x8(%rax),%rax
  mov    %rax,-0x128(%rbp)
  mov    -0x134(%rbp),%eax
  shl    $0x2,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x130(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x120(%rbp)
  mov    -0x140(%rbp),%rax
  mov    (%rax),%rax
  movsd  D19(%rip),%xmm0
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x118(%rbp)
  mov    -0x140(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%rax
  movsd  D19(%rip),%xmm0
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x110(%rbp)
  mov    -0x140(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%rax
  movsd  D19(%rip),%xmm0
  movapd %xmm0,%xmm1
  movq   %rax,%xmm0
  call   <pow@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x108(%rbp)
  movsd  D29(%rip),%xmm0
  subsd  -0x118(%rbp),%xmm0
  subsd  -0x110(%rbp),%xmm0
  subsd  -0x108(%rbp),%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <sqrt@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x100(%rbp)
  movsd  -0x100(%rbp),%xmm0
  movq   D99(%rip),%xmm1
  xorpd  %xmm0,%xmm1
  mov    -0x120(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x120(%rbp),%rax
  movsd  (%rax),%xmm2
  mov    -0x140(%rbp),%rax
  movsd  (%rax),%xmm1
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x140(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm2
  mov    -0x120(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  mulsd  %xmm1,%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  mov    -0x140(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm2
  mov    -0x120(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0xf8(%rbp)
  movsd  -0xf8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xf0(%rbp)
  mov    -0x120(%rbp),%rax
  movsd  (%rax),%xmm0
  mulsd  -0x100(%rbp),%xmm0
  mov    -0x140(%rbp),%rax
  movsd  (%rax),%xmm2
  mov    -0x120(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x140(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm2
  mov    -0x120(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x140(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm2
  mov    -0x120(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm1
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0xe8(%rbp)
  movsd  -0xe8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xe0(%rbp)
  mov    -0x120(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x100(%rbp),%xmm1
  mov    -0x120(%rbp),%rax
  movsd  (%rax),%xmm2
  mov    -0x140(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x140(%rbp),%rax
  movsd  (%rax),%xmm2
  mov    -0x120(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x140(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm2
  mov    -0x120(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0xd8(%rbp)
  movsd  -0x100(%rbp),%xmm0
  movq   D99(%rip),%xmm1
  xorpd  %xmm0,%xmm1
  mov    -0x120(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm1,%xmm0
  mov    -0x120(%rbp),%rax
  movsd  (%rax),%xmm2
  mov    -0x140(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x140(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm2
  mov    -0x120(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  mulsd  %xmm1,%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  mov    -0x140(%rbp),%rax
  movsd  (%rax),%xmm2
  mov    -0x120(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  mulsd  %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0xd0(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0xc8(%rbp)
  movsd  -0xf8(%rbp),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0xc0(%rbp)
  movsd  -0xe8(%rbp),%xmm0
  movq   D99(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movsd  -0xd8(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0xb8(%rbp)
  movsd  -0xc0(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  %xmm0,%xmm1
  movsd  -0xe8(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  subsd  -0xb8(%rbp),%xmm0
  movsd  %xmm0,-0xb0(%rbp)
  movsd  -0xf8(%rbp),%xmm0
  movq   D99(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movsd  -0xd8(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0xa8(%rbp)
  movsd  -0xe8(%rbp),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  movsd  %xmm0,-0xa0(%rbp)
  movsd  -0xa0(%rbp),%xmm0
  addsd  %xmm0,%xmm0
  addsd  -0xa8(%rbp),%xmm0
  movsd  -0xf8(%rbp),%xmm1
  mulsd  -0xd8(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x98(%rbp)
  mov    -0x148(%rbp),%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0xf8(%rbp),%xmm1
  mov    -0x148(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  mov    -0x148(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  mulsd  -0xd8(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x90(%rbp)
  mov    -0x148(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mulsd  -0xe8(%rbp),%xmm0
  mov    -0x148(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xf8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  mov    -0x148(%rbp),%rax
  movsd  (%rax),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x88(%rbp)
  mov    -0x148(%rbp),%rax
  movsd  (%rax),%xmm0
  mulsd  -0xe8(%rbp),%xmm0
  mov    -0x148(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x148(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm1
  mulsd  -0xd8(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x80(%rbp)
  mov    -0x148(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0xe8(%rbp),%xmm1
  mov    -0x148(%rbp),%rax
  movsd  (%rax),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x148(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mulsd  -0xf8(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x78(%rbp)
  movsd  -0x90(%rbp),%xmm0
  movq   D99(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0xd8(%rbp),%xmm1
  movsd  -0xe8(%rbp),%xmm0
  mulsd  -0x88(%rbp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  -0x80(%rbp),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x78(%rbp),%xmm1
  movapd %xmm1,%xmm2
  mulsd  -0xf8(%rbp),%xmm2
  movapd %xmm0,%xmm1
  subsd  %xmm2,%xmm1
  mov    -0x140(%rbp),%rax
  add    $0x28,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x70(%rbp)
  movsd  D29(%rip),%xmm0
  divsd  -0x70(%rbp),%xmm0
  movsd  %xmm0,-0x68(%rbp)
  movsd  -0x90(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  movsd  -0xe8(%rbp),%xmm0
  mulsd  -0x78(%rbp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  -0x88(%rbp),%xmm0
  mulsd  -0xf8(%rbp),%xmm0
  addsd  %xmm0,%xmm1
  movsd  -0x80(%rbp),%xmm0
  mulsd  -0xd8(%rbp),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x140(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  movsd  %xmm0,-0x60(%rbp)
  movsd  -0x70(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x58(%rbp)
  movsd  D29(%rip),%xmm0
  divsd  -0x58(%rbp),%xmm0
  movsd  %xmm0,-0x50(%rbp)
  mov    -0x128(%rbp),%rax
  movsd  (%rax),%xmm2
  movsd  -0x90(%rbp),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0xf8(%rbp),%xmm1
  movsd  -0xe8(%rbp),%xmm0
  mulsd  -0x80(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x78(%rbp),%xmm1
  mulsd  -0xd8(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  -0x88(%rbp),%xmm1
  movapd %xmm1,%xmm3
  mulsd  -0xd0(%rbp),%xmm3
  movapd %xmm0,%xmm1
  subsd  %xmm3,%xmm1
  mov    -0x140(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  %xmm0,%xmm2
  movapd %xmm2,%xmm1
  mov    -0x128(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x60(%rbp),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x128(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x70(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x50(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x48(%rbp)
  movsd  -0xd8(%rbp),%xmm0
  mulsd  %xmm0,%xmm0
  movsd  %xmm0,-0x40(%rbp)
  movsd  -0xc8(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0xe0(%rbp),%xmm1
  movsd  -0xf8(%rbp),%xmm0
  movapd %xmm0,%xmm2
  mulsd  %xmm0,%xmm2
  subsd  %xmm2,%xmm1
  movapd %xmm1,%xmm0
  subsd  -0x40(%rbp),%xmm0
  movsd  %xmm0,-0x38(%rbp)
  movsd  -0xd0(%rbp),%xmm0
  movq   D99(%rip),%xmm1
  xorpd  %xmm1,%xmm0
  movsd  -0xd8(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x30(%rbp)
  movsd  -0xe8(%rbp),%xmm0
  mulsd  -0xf8(%rbp),%xmm0
  movsd  %xmm0,-0x28(%rbp)
  movsd  -0x30(%rbp),%xmm0
  addsd  %xmm0,%xmm0
  movsd  -0xe8(%rbp),%xmm1
  mulsd  -0xf8(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  subsd  -0x28(%rbp),%xmm0
  movsd  %xmm0,-0x20(%rbp)
  movsd  -0x28(%rbp),%xmm0
  addsd  %xmm0,%xmm0
  addsd  -0x30(%rbp),%xmm0
  movsd  -0xd0(%rbp),%xmm1
  mulsd  -0xd8(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  movsd  %xmm0,-0x18(%rbp)
  movsd  -0x40(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0xe0(%rbp),%xmm1
  movsd  -0xd0(%rbp),%xmm0
  movapd %xmm0,%xmm2
  mulsd  %xmm0,%xmm2
  subsd  %xmm2,%xmm1
  movapd %xmm1,%xmm0
  subsd  -0xf0(%rbp),%xmm0
  movsd  %xmm0,-0x10(%rbp)
  mov    -0x128(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x60(%rbp),%xmm1
  mov    -0x128(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x70(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  movsd  -0x50(%rbp),%xmm1
  mulsd  %xmm1,%xmm0
  movsd  %xmm0,-0x8(%rbp)
  mov    -0x128(%rbp),%rax
  movsd  (%rax),%xmm2
  movsd  -0xf0(%rbp),%xmm0
  movapd %xmm0,%xmm1
  addsd  -0xe0(%rbp),%xmm1
  movsd  -0xd8(%rbp),%xmm0
  movapd %xmm0,%xmm3
  mulsd  %xmm0,%xmm3
  subsd  %xmm3,%xmm1
  movapd %xmm1,%xmm0
  subsd  -0xc8(%rbp),%xmm0
  mulsd  %xmm0,%xmm2
  movapd %xmm2,%xmm1
  mov    -0x128(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  mulsd  -0xb0(%rbp),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x128(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x98(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  -0x68(%rbp),%xmm0
  movsd  -0x48(%rbp),%xmm1
  mulsd  -0x98(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  mov    -0x150(%rbp),%rax
  movsd  %xmm0,(%rax)
  mov    -0x128(%rbp),%rax
  movsd  (%rax),%xmm1
  movsd  -0xb8(%rbp),%xmm0
  addsd  %xmm0,%xmm0
  movapd %xmm0,%xmm2
  addsd  -0xc0(%rbp),%xmm2
  movsd  -0xf8(%rbp),%xmm0
  mulsd  -0xd0(%rbp),%xmm0
  addsd  %xmm2,%xmm0
  mulsd  %xmm0,%xmm1
  mov    -0x128(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x38(%rbp),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x128(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x20(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  -0x68(%rbp),%xmm0
  movsd  -0x48(%rbp),%xmm1
  mulsd  -0x20(%rbp),%xmm1
  mov    -0x150(%rbp),%rax
  add    $0x8,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x128(%rbp),%rax
  movsd  (%rax),%xmm2
  movsd  -0xa8(%rbp),%xmm0
  addsd  %xmm0,%xmm0
  movsd  -0xe8(%rbp),%xmm1
  mulsd  -0xd0(%rbp),%xmm1
  subsd  %xmm1,%xmm0
  subsd  -0xa0(%rbp),%xmm0
  mulsd  %xmm0,%xmm2
  movapd %xmm2,%xmm1
  mov    -0x128(%rbp),%rax
  add    $0x8,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x18(%rbp),%xmm0
  addsd  %xmm0,%xmm1
  mov    -0x128(%rbp),%rax
  add    $0x10,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x10(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  -0x68(%rbp),%xmm0
  movsd  -0x48(%rbp),%xmm1
  mulsd  -0x10(%rbp),%xmm1
  mov    -0x150(%rbp),%rax
  add    $0x10,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x128(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0xb0(%rbp),%xmm1
  mov    -0x128(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x98(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  -0x68(%rbp),%xmm0
  movsd  -0x8(%rbp),%xmm1
  mulsd  -0x98(%rbp),%xmm1
  mov    -0x150(%rbp),%rax
  add    $0x18,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x128(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x38(%rbp),%xmm1
  mov    -0x128(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x20(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  -0x68(%rbp),%xmm0
  movsd  -0x8(%rbp),%xmm1
  mulsd  -0x20(%rbp),%xmm1
  mov    -0x150(%rbp),%rax
  add    $0x20,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  mov    -0x128(%rbp),%rax
  add    $0x18,%rax
  movsd  (%rax),%xmm0
  movapd %xmm0,%xmm1
  mulsd  -0x18(%rbp),%xmm1
  mov    -0x128(%rbp),%rax
  add    $0x20,%rax
  movsd  (%rax),%xmm0
  mulsd  -0x10(%rbp),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  -0x68(%rbp),%xmm0
  movsd  -0x8(%rbp),%xmm1
  mulsd  -0x10(%rbp),%xmm1
  mov    -0x150(%rbp),%rax
  add    $0x28,%rax
  subsd  %xmm1,%xmm0
  movsd  %xmm0,(%rax)
  nop
  leave
  ret
```

tool_calls: name: parse_data
arguments: label: D19
type_guessed: f64
name: parse_data
arguments: label: D29
type_guessed: f64
name: parse_data
arguments: label: D99
type_guessed: byte[8]

tool: D19: 2

tool: D29: 1

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

assistant: ```c
void imgprojac_str(int j, int i, double *rt, double *xyz, double *jst, double **adata) {
  double *qr0, *r0 = adata[0], *a = adata[1];
  double t1, t2, t3, t5, t10, t11, t16, t17, t22, t28, t29, t32, t35, t36, t38, t39, t42, t48, t53, t58, t63, t65, t66, t78, t82, t83, t84, t92, t93, t95, t98, t99, 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);
  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;
}
```