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

```asm
<Inertia>:
  endbr64
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0xe8,%rsp
  mov    %rdi,%rbx
  mov    %rsi,%rbp
  lea    0xd8(%rsp),%r12
  lea    0xd0(%rsp),%r13
  movsd  0x8(%rsi),%xmm0
  mov    %r13,%rsi
  mov    %r12,%rdi
  call   <sincos@plt>
  movsd  0xd0(%rsp),%xmm15
  movsd  %xmm15,0x18(%rsp)
  movsd  0xd8(%rsp),%xmm1
  movsd  %xmm1,0x8(%rsp)
  movsd  0x10(%rbp),%xmm0
  mov    %r13,%rsi
  mov    %r12,%rdi
  call   <sincos@plt>
  movsd  0xd0(%rsp),%xmm12
  movsd  %xmm12,0x40(%rsp)
  movsd  0xd8(%rsp),%xmm11
  movsd  %xmm11,0x10(%rsp)
  movsd  0x18(%rbp),%xmm0
  mov    %r13,%rsi
  mov    %r12,%rdi
  call   <sincos@plt>
  movsd  0xd0(%rsp),%xmm14
  movsd  %xmm14,0x28(%rsp)
  movsd  0xd8(%rsp),%xmm4
  movsd  %xmm4,0x30(%rsp)
  movsd  0x20(%rbp),%xmm0
  mov    %r13,%rsi
  mov    %r12,%rdi
  call   <sincos@plt>
  movsd  D181(%rip),%xmm3
  movapd %xmm3,%xmm2
  mulsd  0xd8(%rsp),%xmm2
  mulsd  0xd0(%rsp),%xmm3
  movq   D223(%rip),%xmm1
  movapd %xmm2,%xmm0
  xorpd  %xmm1,%xmm0
  movsd  %xmm0,0x48(%rsp)
  movapd %xmm3,%xmm6
  mulsd  D159(%rip),%xmm6
  movapd %xmm6,%xmm11
  movapd %xmm2,%xmm0
  addsd  D318(%rip),%xmm0
  movapd %xmm3,%xmm8
  addsd  D229(%rip),%xmm8
  mulsd  D5(%rip),%xmm2
  movsd  D89(%rip),%xmm10
  subsd  %xmm2,%xmm10
  movapd %xmm6,%xmm2
  addsd  %xmm6,%xmm2
  movsd  D363(%rip),%xmm6
  subsd  %xmm2,%xmm6
  movsd  D359(%rip),%xmm9
  subsd  %xmm2,%xmm9
  movq   %xmm9,%rax
  movsd  0x28(%rsp),%xmm14
  movapd %xmm14,%xmm7
  mulsd  %xmm0,%xmm7
  movsd  %xmm7,0x20(%rsp)
  movsd  0x30(%rsp),%xmm15
  movapd %xmm15,%xmm2
  xorpd  %xmm1,%xmm2
  mulsd  %xmm2,%xmm0
  movapd %xmm2,%xmm5
  mulsd  %xmm3,%xmm5
  movsd  %xmm5,0x68(%rsp)
  mulsd  %xmm14,%xmm3
  movsd  %xmm3,0x38(%rsp)
  movapd %xmm0,%xmm7
  mulsd  D100(%rip),%xmm7
  movapd %xmm7,%xmm12
  movsd  D212(%rip),%xmm7
  mulsd  %xmm0,%xmm7
  movsd  %xmm7,0x50(%rsp)
  movapd %xmm8,%xmm5
  mulsd  D347(%rip),%xmm5
  xorpd  %xmm1,%xmm9
  mulsd  %xmm15,%xmm9
  movapd %xmm14,%xmm13
  mulsd  %xmm6,%xmm13
  movapd %xmm8,%xmm4
  addsd  D176(%rip),%xmm4
  movapd %xmm4,%xmm3
  movapd %xmm0,%xmm4
  subsd  D270(%rip),%xmm4
  movsd  %xmm4,0x70(%rsp)
  movapd %xmm14,%xmm4
  mulsd  %xmm9,%xmm4
  mulsd  %xmm13,%xmm15
  addsd  %xmm15,%xmm4
  movapd %xmm4,%xmm14
  movsd  D4(%rip),%xmm4
  movsd  0x20(%rsp),%xmm7
  mulsd  %xmm4,%xmm7
  movapd %xmm7,%xmm15
  movapd %xmm14,%xmm7
  subsd  %xmm15,%xmm7
  movsd  %xmm7,0x58(%rsp)
  movsd  0x28(%rsp),%xmm14
  mulsd  %xmm10,%xmm14
  movsd  D212(%rip),%xmm7
  mulsd  0x20(%rsp),%xmm7
  subsd  %xmm7,%xmm14
  movapd %xmm14,%xmm7
  movapd %xmm12,%xmm14
  addsd  %xmm12,%xmm14
  movsd  D342(%rip),%xmm15
  subsd  %xmm14,%xmm15
  movsd  %xmm15,0x88(%rsp)
  movapd %xmm10,%xmm14
  xorpd  %xmm1,%xmm14
  movapd %xmm14,%xmm15
  mulsd  0x30(%rsp),%xmm15
  subsd  D90(%rip),%xmm15
  mulsd  %xmm4,%xmm8
  subsd  %xmm8,%xmm15
  movapd %xmm15,%xmm8
  subsd  0x50(%rsp),%xmm8
  movsd  %xmm8,0x60(%rsp)
  movsd  0x30(%rsp),%xmm15
  mulsd  %xmm15,%xmm9
  movsd  D358(%rip),%xmm14
  subsd  %xmm9,%xmm14
  movsd  0x28(%rsp),%xmm8
  mulsd  %xmm8,%xmm13
  addsd  %xmm13,%xmm14
  movapd %xmm5,%xmm13
  addsd  %xmm5,%xmm13
  movapd %xmm14,%xmm9
  subsd  %xmm13,%xmm9
  movsd  %xmm9,0xc0(%rsp)
  movq   %rax,%xmm9
  mulsd  %xmm8,%xmm9
  mulsd  %xmm8,%xmm9
  addsd  D189(%rip),%xmm9
  mulsd  %xmm15,%xmm6
  mulsd  %xmm15,%xmm6
  addsd  %xmm9,%xmm6
  addsd  %xmm12,%xmm5
  addsd  %xmm5,%xmm5
  subsd  %xmm5,%xmm6
  movapd %xmm8,%xmm9
  mulsd  %xmm11,%xmm9
  movsd  D212(%rip),%xmm5
  movsd  0x38(%rsp),%xmm13
  mulsd  %xmm13,%xmm5
  subsd  %xmm5,%xmm9
  movq   %xmm9,%rax
  mulsd  %xmm10,%xmm2
  subsd  0x50(%rsp),%xmm2
  movq   %xmm2,%rdx
  movsd  D200(%rip),%xmm5
  subsd  %xmm12,%xmm5
  movsd  %xmm5,0xa0(%rsp)
  mulsd  %xmm4,%xmm13
  movapd %xmm15,%xmm5
  mulsd  %xmm11,%xmm5
  movsd  0x48(%rsp),%xmm15
  movapd %xmm15,%xmm9
  mulsd  %xmm4,%xmm9
  subsd  %xmm9,%xmm5
  movsd  D212(%rip),%xmm14
  mulsd  0x68(%rsp),%xmm14
  movapd %xmm14,%xmm8
  addsd  %xmm5,%xmm8
  movsd  0x40(%rsp),%xmm12
  movapd %xmm12,%xmm2
  mulsd  0x20(%rsp),%xmm2
  movsd  0x10(%rsp),%xmm11
  movapd %xmm11,%xmm5
  mulsd  %xmm3,%xmm5
  movsd  %xmm2,0xa8(%rsp)
  movapd %xmm2,%xmm14
  movsd  %xmm5,0xb0(%rsp)
  addsd  %xmm5,%xmm14
  movapd %xmm11,%xmm9
  xorpd  %xmm1,%xmm9
  movapd %xmm9,%xmm10
  mulsd  0x20(%rsp),%xmm10
  mulsd  %xmm12,%xmm3
  addsd  %xmm10,%xmm3
  movapd %xmm12,%xmm10
  mulsd  %xmm0,%xmm10
  movsd  %xmm10,0xc8(%rsp)
  movapd %xmm12,%xmm10
  mulsd  0x38(%rsp),%xmm10
  movapd %xmm15,%xmm5
  movapd %xmm11,%xmm15
  mulsd  %xmm11,%xmm5
  movapd %xmm10,%xmm11
  addsd  %xmm5,%xmm11
  movsd  %xmm11,0x78(%rsp)
  movapd %xmm3,%xmm11
  mulsd  D130(%rip),%xmm11
  movsd  %xmm11,0x28(%rsp)
  movsd  D183(%rip),%xmm11
  movapd %xmm14,%xmm10
  mulsd  %xmm11,%xmm10
  movsd  %xmm10,0x80(%rsp)
  movapd %xmm12,%xmm5
  movapd %xmm7,%xmm10
  mulsd  %xmm7,%xmm5
  movapd %xmm15,%xmm2
  movsd  0x88(%rsp),%xmm7
  mulsd  %xmm7,%xmm2
  addsd  %xmm5,%xmm2
  movsd  %xmm2,0x88(%rsp)
  xorpd  %xmm1,%xmm10
  mulsd  %xmm15,%xmm10
  movapd %xmm7,%xmm2
  mulsd  %xmm12,%xmm2
  addsd  %xmm10,%xmm2
  movsd  %xmm2,0x90(%rsp)
  movapd %xmm12,%xmm2
  mulsd  %xmm6,%xmm2
  subsd  %xmm10,%xmm2
  mulsd  %xmm15,%xmm6
  movapd %xmm5,%xmm7
  subsd  %xmm6,%xmm7
  movsd  %xmm7,0x98(%rsp)
  movapd %xmm12,%xmm6
  mulsd  0x58(%rsp),%xmm6
  mulsd  0x60(%rsp),%xmm15
  movsd  %xmm15,0x30(%rsp)
  movsd  0x58(%rsp),%xmm7
  mulsd  0x10(%rsp),%xmm7
  movsd  %xmm7,0x50(%rsp)
  movsd  0x60(%rsp),%xmm7
  mulsd  %xmm12,%xmm7
  movsd  %xmm7,0x58(%rsp)
  movsd  0x28(%rsp),%xmm15
  movapd %xmm15,%xmm12
  addsd  %xmm15,%xmm12
  movsd  %xmm12,0x60(%rsp)
  movsd  0x8(%rsp),%xmm15
  movapd %xmm15,%xmm12
  xorpd  %xmm1,%xmm12
  movsd  %xmm6,0xb8(%rsp)
  addsd  0x30(%rsp),%xmm6
  movapd %xmm6,%xmm7
  mulsd  %xmm15,%xmm7
  movq   %xmm7,%rsi
  movsd  D339(%rip),%xmm6
  subsd  0x50(%rsp),%xmm6
  addsd  0x58(%rsp),%xmm6
  movsd  0x70(%rsp),%xmm7
  mulsd  %xmm11,%xmm7
  subsd  %xmm7,%xmm6
  movsd  0x18(%rsp),%xmm15
  mulsd  %xmm15,%xmm6
  movq   %rsi,%xmm7
  subsd  %xmm6,%xmm7
  movapd %xmm3,%xmm6
  addsd  D116(%rip),%xmm6
  mulsd  %xmm15,%xmm6
  mulsd  %xmm12,%xmm14
  addsd  %xmm14,%xmm6
  mulsd  %xmm4,%xmm6
  movapd %xmm7,%xmm14
  subsd  %xmm6,%xmm14
  movsd  0x10(%rsp),%xmm15
  mulsd  0xa0(%rsp),%xmm15
  movapd %xmm15,%xmm6
  addsd  %xmm5,%xmm6
  movsd  0x20(%rsp),%xmm7
  mulsd  %xmm11,%xmm7
  subsd  %xmm7,%xmm6
  mulsd  %xmm12,%xmm6
  movsd  0xa0(%rsp),%xmm7
  movsd  0x40(%rsp),%xmm5
  mulsd  %xmm5,%xmm7
  addsd  %xmm10,%xmm7
  movsd  0x18(%rsp),%xmm15
  mulsd  %xmm15,%xmm7
  addsd  %xmm7,%xmm6
  mulsd  %xmm9,%xmm0
  mulsd  0x8(%rsp),%xmm0
  movapd %xmm15,%xmm7
  movsd  0xc8(%rsp),%xmm10
  mulsd  %xmm10,%xmm7
  addsd  %xmm7,%xmm0
  mulsd  %xmm4,%xmm0
  subsd  %xmm0,%xmm6
  movapd %xmm5,%xmm7
  mulsd  %xmm8,%xmm7
  movsd  0x10(%rsp),%xmm0
  mulsd  %xmm13,%xmm0
  addsd  %xmm7,%xmm0
  movsd  0x68(%rsp),%xmm7
  mulsd  %xmm11,%xmm7
  addsd  %xmm7,%xmm0
  mulsd  %xmm12,%xmm0
  mulsd  %xmm9,%xmm8
  mulsd  %xmm5,%xmm13
  addsd  %xmm13,%xmm8
  mulsd  %xmm15,%xmm8
  addsd  %xmm8,%xmm0
  movsd  0x38(%rsp),%xmm13
  mulsd  %xmm9,%xmm13
  movapd %xmm13,%xmm7
  movsd  0x48(%rsp),%xmm8
  movapd %xmm5,%xmm13
  mulsd  %xmm5,%xmm8
  addsd  %xmm8,%xmm7
  mulsd  0x8(%rsp),%xmm7
  movapd %xmm15,%xmm8
  mulsd  0x78(%rsp),%xmm8
  addsd  %xmm8,%xmm7
  mulsd  %xmm4,%xmm7
  subsd  %xmm7,%xmm0
  movsd  0xb8(%rsp),%xmm5
  xorpd  %xmm1,%xmm5
  subsd  0x30(%rsp),%xmm5
  mulsd  %xmm12,%xmm5
  movsd  0x50(%rsp),%xmm7
  subsd  0x58(%rsp),%xmm7
  mulsd  %xmm15,%xmm7
  addsd  %xmm7,%xmm5
  movsd  0xa8(%rsp),%xmm7
  xorpd  %xmm1,%xmm7
  subsd  0xb0(%rsp),%xmm7
  mulsd  0x8(%rsp),%xmm7
  mulsd  %xmm15,%xmm3
  addsd  %xmm3,%xmm7
  mulsd  %xmm4,%xmm7
  subsd  %xmm7,%xmm5
  movapd %xmm13,%xmm7
  mulsd  %xmm2,%xmm7
  addsd  D220(%rip),%xmm7
  movsd  0x10(%rsp),%xmm12
  movapd %xmm12,%xmm3
  mulsd  0x88(%rsp),%xmm3
  addsd  %xmm3,%xmm7
  subsd  0x60(%rsp),%xmm7
  mulsd  0x8(%rsp),%xmm7
  movapd %xmm13,%xmm3
  mulsd  0x98(%rsp),%xmm3
  movapd %xmm12,%xmm8
  mulsd  0x90(%rsp),%xmm8
  addsd  %xmm8,%xmm3
  subsd  0x80(%rsp),%xmm3
  mulsd  %xmm15,%xmm3
  subsd  %xmm7,%xmm3
  movsd  0x8(%rsp),%xmm8
  mulsd  %xmm8,%xmm3
  movsd  D152(%rip),%xmm7
  subsd  %xmm3,%xmm7
  mulsd  %xmm2,%xmm9
  movsd  0x88(%rsp),%xmm3
  mulsd  %xmm13,%xmm3
  addsd  %xmm3,%xmm9
  subsd  0x80(%rsp),%xmm9
  mulsd  %xmm8,%xmm9
  movapd %xmm12,%xmm3
  mulsd  0x98(%rsp),%xmm3
  movsd  D170(%rip),%xmm8
  subsd  %xmm3,%xmm8
  mulsd  0x90(%rsp),%xmm13
  addsd  %xmm13,%xmm8
  mulsd  %xmm15,%xmm8
  subsd  %xmm9,%xmm8
  mulsd  %xmm8,%xmm15
  addsd  %xmm15,%xmm7
  movsd  0x70(%rsp),%xmm2
  addsd  D154(%rip),%xmm2
  mulsd  %xmm4,%xmm2
  addsd  %xmm2,%xmm2
  subsd  %xmm2,%xmm7
  movsd  D66(%rip),%xmm2
  addsd  %xmm2,%xmm7
  movsd  %xmm7,(%rbx)
  movsd  %xmm14,0x8(%rbx)
  movsd  %xmm5,0x10(%rbx)
  movsd  %xmm6,0x18(%rbx)
  movsd  %xmm0,0x20(%rbx)
  movq   $0x0,0x28(%rbx)
  movsd  %xmm14,0x30(%rbx)
  movsd  0xc0(%rsp),%xmm13
  movapd %xmm13,%xmm3
  addsd  D62(%rip),%xmm3
  subsd  0x60(%rsp),%xmm3
  addsd  %xmm2,%xmm3
  movsd  %xmm3,0x38(%rbx)
  movsd  0x28(%rsp),%xmm2
  subsd  %xmm13,%xmm2
  xorpd  %xmm1,%xmm2
  movsd  %xmm2,0x40(%rbx)
  movapd %xmm10,%xmm3
  mulsd  %xmm11,%xmm3
  movq   %rdx,%xmm4
  subsd  %xmm3,%xmm4
  xorpd  %xmm1,%xmm4
  movsd  %xmm4,0x48(%rbx)
  movsd  0x78(%rsp),%xmm7
  mulsd  %xmm11,%xmm7
  movq   %rax,%xmm3
  subsd  %xmm7,%xmm3
  xorpd  %xmm1,%xmm3
  movsd  %xmm3,0x50(%rbx)
  movq   $0x0,0x58(%rbx)
  movsd  %xmm5,0x60(%rbx)
  movsd  %xmm2,0x68(%rbx)
  movapd %xmm13,%xmm2
  addsd  D124(%rip),%xmm2
  movsd  %xmm2,0x70(%rbx)
  movq   %rdx,%xmm2
  xorpd  %xmm1,%xmm2
  movsd  %xmm2,0x78(%rbx)
  movq   %rax,%xmm5
  xorpd  %xmm5,%xmm1
  movsd  %xmm1,0x80(%rbx)
  movq   $0x0,0x88(%rbx)
  movsd  %xmm6,0x90(%rbx)
  movsd  %xmm4,0x98(%rbx)
  movsd  %xmm2,0xa0(%rbx)
  mov    D254(%rip),%rax
  mov    %rax,0xa8(%rbx)
  movq   $0x0,0xb0(%rbx)
  movq   $0x0,0xb8(%rbx)
  movsd  %xmm0,0xc0(%rbx)
  movsd  %xmm3,0xc8(%rbx)
  movsd  %xmm1,0xd0(%rbx)
  movq   $0x0,0xd8(%rbx)
  mov    D99(%rip),%rax
  mov    %rax,0xe0(%rbx)
  movq   $0x0,0xe8(%rbx)
  movq   $0x0,0xf0(%rbx)
  movq   $0x0,0xf8(%rbx)
  movq   $0x0,0x100(%rbx)
  movq   $0x0,0x108(%rbx)
  movq   $0x0,0x110(%rbx)
  mov    D149(%rip),%rax
  mov    %rax,0x118(%rbx)
  add    $0xe8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
```

tool_calls: name: read_data
arguments: tag: D181
type_infered: byte[8]
name: read_data
arguments: tag: D223
type_infered: f32[2]
name: read_data
arguments: tag: D159
type_infered: byte[8]
name: read_data
arguments: tag: D318
type_infered: byte[8]
name: read_data
arguments: tag: D229
type_infered: f64
name: read_data
arguments: tag: D5
type_infered: f64
name: read_data
arguments: tag: D89
type_infered: byte[8]
name: read_data
arguments: tag: D363
type_infered: f64
name: read_data
arguments: tag: D359
type_infered: f64
name: read_data
arguments: tag: D100
type_infered: byte[8]
name: read_data
arguments: tag: D212
type_infered: byte[8]
name: read_data
arguments: tag: D347
type_infered: byte[8]
name: read_data
arguments: tag: D176
type_infered: f64
name: read_data
arguments: tag: D270
type_infered: f64
name: read_data
arguments: tag: D4
type_infered: f64
name: read_data
arguments: tag: D342
type_infered: f64
name: read_data
arguments: tag: D90
type_infered: f64
name: read_data
arguments: tag: D358
type_infered: f64
name: read_data
arguments: tag: D189
type_infered: f64
name: read_data
arguments: tag: D200
type_infered: byte[8]
name: read_data
arguments: tag: D130
type_infered: byte[8]
name: read_data
arguments: tag: D183
type_infered: f64
name: read_data
arguments: tag: D339
type_infered: byte[8]
name: read_data
arguments: tag: D116
type_infered: f64
name: read_data
arguments: tag: D220
type_infered: f64
name: read_data
arguments: tag: D152
type_infered: f64
name: read_data
arguments: tag: D170
type_infered: f64
name: read_data
arguments: tag: D154
type_infered: f64
name: read_data
arguments: tag: D66
type_infered: f64
name: read_data
arguments: tag: D62
type_infered: f64
name: read_data
arguments: tag: D124
type_infered: f64
name: read_data
arguments: tag: D254
type_infered: f64
name: read_data
arguments: tag: D99
type_infered: f64
name: read_data
arguments: tag: D149
type_infered: f64

tool: {"D181": [0xa2,0x7f,0x82,0x8b,0x15,0x35,0x98,0x3f]}

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

tool: {"D159": [0x52,0xb8,0x1e,0x85,0xeb,0x51,0xd8,0xbf]}

tool: {"D318": [0xca,0x53,0x56,0xd3,0xf5,0x44,0x87,0x3f]}

tool: D229: 3.23171

tool: D5: 0.38

tool: {"D89": [0x6c,0xac,0x69,0x83,0xb8,0x17,0x7d,0x3f]}

tool: D363: 1.0408974

tool: D359: 1.041886

tool: {"D100": [0x9a,0x99,0x99,0x99,0x99,0x99,0xb9,0xbf]}

tool: {"D212": [0xec,0x51,0xb8,0x1e,0x85,0xeb,0xb1,0x3f]}

tool: {"D347": [0xec,0x51,0xb8,0x1e,0x85,0xeb,0xb1,0xbf]}

tool: D176: 0.74235

tool: D270: 0.2491

tool: D4: 0.1

tool: D342: 0.3080284

tool: D90: 0.1000071

tool: D358: 0.1027879

tool: D189: 0.3658049

tool: {"D200": [0x00,0x67,0x73,0xe6,0x68,0x9f,0x78,0x3f]}

tool: {"D130": [0xcd,0xcc,0xcc,0xcc,0xcc,0xcc,0xdc,0xbf]}

tool: D183: 0.45

tool: {"D339": [0xcc,0xe8,0xec,0x09,0xb7,0x21,0xdd,0xbf]}

tool: D116: 18.288

tool: D220: 7.8244775

tool: D152: 0.7112539

tool: D170: 0.1397675

tool: D154: 1.407276

tool: D66: 3.120061

tool: D62: 7.68471

tool: D124: 1.204223

tool: D254: 0.8318674

tool: D99: 0.5508

tool: D149: 0.268288

assistant: ```c
void Inertia(M, q) double M[36];
double q[6];
{
  double C0 = cos(q[0]);
  double S0 = sin(q[0]);
  double C1 = cos(q[1]);
  double S1 = sin(q[1]);
  double C2 = cos(q[2]);
  double S2 = sin(q[2]);
  double C3 = cos(q[3]);
  double S3 = sin(q[3]);
  double C4 = cos(q[4]);
  double S4 = sin(q[4]);
  double C5 = cos(q[5]);
  double S5 = sin(q[5]);
  double tmp1 = 0.2364e-1 * S4;
  double tmp2 = 0.2364e-1 * C4;
  double tmp3 = -0.2364e-1 * S4;
  double tmp4 = 0.2364e-1 * C4;
  double tmp5 = -0.38e0 * tmp2;
  double tmp6 = -0.38e0 * tmp2;
  double tmp7 = 0.38e0 * tmp1;
  double tmp8 = 0.11362e-1 + tmp1;
  double tmp9 = 0.3231710e1 + tmp2;
  double tmp10 = 0.71027e-2 - tmp7;
  double tmp11 = 0.10408974e1 - 2 * tmp5;
  double tmp12 = 0.10418860e1 - 2 * tmp6;
  double tmp13 = 0.71027e-2 - tmp7;
  double tmp14 = -0.38e0 * tmp4;
  double tmp15 = C3 * tmp8;
  double tmp16 = -S3 * tmp8;
  double tmp17 = -S3 * tmp4;
  double tmp18 = -S3 * tmp8;
  double tmp19 = -C3 * tmp8;
  double tmp20 = C3 * tmp4;
  double tmp21 = 0.1e0 * tmp15;
  double tmp22 = -0.1e0 * tmp16;
  double tmp23 = 0.1e0 * tmp9;
  double tmp24 = 0.7e-1 * tmp16;
  double tmp25 = -0.7e-1 * tmp9;
  double tmp26 = -0.1e0 * tmp16 - 0.7e-1 * tmp9;
  double tmp27 = 0.7e-1 * tmp15;
  double tmp28 = -tmp12 * S3;
  double tmp29 = tmp10 * C3;
  double tmp30 = -tmp10 * S3;
  double tmp31 = tmp11 * S3;
  double tmp32 = tmp11 * C3;
  double tmp33 = tmp12 * C3;
  double tmp34 = 0.74235e0 + tmp9;
  double tmp35 = -0.2491e0 + tmp16;
  double tmp36 = C3 * tmp28 + S3 * tmp32 - tmp21;
  double tmp37 = tmp29 - tmp27;
  double tmp38 = 0.3080284e0 - 2 * tmp22;
  double tmp39 = -0.1000071e0 + tmp30 - tmp23 - tmp24;
  double tmp42 = 0.1027879e0 - S3 * tmp28 + C3 * tmp32 - 2 * tmp25;
  double tmp43 = 0.3658049e0 + C3 * tmp33 + S3 * tmp31 - 2 * tmp26;
  double tmp44 = C3 * tmp13 - tmp27;
  double tmp45 = C3 * tmp14 - 0.7e-1 * tmp20;
  double tmp46 = C3 * tmp13 + 0.7e-1 * tmp19;
  double tmp47 = -S3 * tmp13 - 0.7e-1 * tmp18;
  double tmp48 = 0.60114e-2 + 0.1e0 * tmp18;
  double tmp49 = 0.1e0 * tmp20;
  double tmp50 = S3 * tmp14 - 0.1e0 * tmp3 + 0.7e-1 * tmp17;
  double tmp51 = C2 * tmp15 + S2 * tmp34;
  double tmp52 = -S2 * tmp15 + C2 * tmp34;
  double tmp53 = -S2 * tmp15 + C2 * tmp34;
  double tmp54 = C2 * tmp18;
  double tmp55 = -S2 * tmp18;
  double tmp56 = -S2 * tmp20 + C2 * tmp3;
  double tmp57 = -C2 * tmp15 - S2 * tmp34;
  double tmp58 = C2 * tmp20 + S2 * tmp3;
  double tmp59 = 0.45e0 * tmp35;
  double tmp60 = -0.45e0 * tmp52;
  double tmp61 = -0.45e0 * tmp52;
  double tmp62 = 0.45e0 * tmp51;
  double tmp63 = tmp37 * C2 + tmp38 * S2;
  double tmp64 = -tmp37 * S2 + tmp38 * C2;
  double tmp67 = tmp43 * C2 + tmp44 * S2;
  double tmp68 = -tmp43 * S2 + tmp44 * C2;
  double tmp69 = 0.1828800e2 + tmp52;
  double tmp70 = 0.1407276e1 + tmp35;
  double tmp71 = C2 * tmp36 + S2 * tmp39;
  double tmp72 = -S2 * tmp67 + C2 * tmp63 - tmp62;
  double tmp73 = 0.1397675e0 - S2 * tmp68 + C2 * tmp64;
  double tmp74 = -0.4551828e0 - S2 * tmp36 + C2 * tmp39 - tmp59;
  double tmp76 = 0.76847100e1 + tmp42 - 2 * tmp60;
  double tmp77 = 0.78244775e1 + C2 * tmp67 + S2 * tmp63 - 2 * tmp61;
  double tmp78 = C2 * tmp68 + S2 * tmp64 - tmp62;
  double tmp79 = tmp45 - 0.45e0 * tmp58;
  double tmp80 = -C2 * tmp36 - S2 * tmp39;
  double tmp81 = C2 * tmp46 + S2 * tmp48 + 0.45e0 * tmp19;
  double tmp82 = tmp47 - 0.45e0 * tmp54;
  double tmp83 = -S2 * tmp46 + C2 * tmp48;
  double tmp84 = -S2 * tmp50 + C2 * tmp49;
  double tmp85 = S2 * tmp36 - C2 * tmp39;
  double tmp86 = C2 * tmp50 + S2 * tmp49 + 0.45e0 * tmp17;
  double tmp87 = -tmp42 - 0.45e0 * tmp53;
  double tmp90 = C1 * tmp53 + S1 * tmp57;
  double tmp91 = C1 * tmp54 + S1 * tmp55;
  double tmp96 = C1 * tmp58 + S1 * tmp56;
  double tmp97 = -S1 * tmp51 + C1 * tmp69;
  double tmp99 = 0.10e0 * tmp70;
  double tmp106 = -tmp72 * S1 + tmp73 * C1;
  double tmp110 = -tmp77 * S1 + tmp78 * C1;
  double tmp116 = 0.7112539e0 - S1 * tmp110 + C1 * tmp106 - 2 * tmp99;
  double tmp127 = S1 * tmp71 - C1 * tmp74 - 0.10e0 * tmp97;
  double tmp128 = -S1 * tmp81 + C1 * tmp83 - 0.10e0 * tmp91;
  double tmp129 = -S1 * tmp86 + C1 * tmp84 - 0.10e0 * tmp96;
  double tmp130 = -S1 * tmp80 + C1 * tmp85 - 0.10e0 * tmp90;
  M[0] = tmp116 + 0.3120061e1;
  M[1] = tmp127;
  M[2] = tmp130;
  M[3] = tmp128;
  M[4] = tmp129;
  M[5] = 0.0e0;
  M[6] = tmp127;
  M[7] = tmp76 + 0.3120061e1;
  M[8] = -tmp87;
  M[9] = -tmp82;
  M[10] = -tmp79;
  M[11] = 0.0e0;
  M[12] = tmp130;
  M[13] = -tmp87;
  M[14] = tmp42 + 0.1204223e1;
  M[15] = -tmp47;
  M[16] = -tmp45;
  M[17] = 0.0e0;
  M[18] = tmp128;
  M[19] = -tmp82;
  M[20] = -tmp47;
  M[21] = 0.8318674e0;
  M[22] = 0.0e0;
  M[23] = 0.0e0;
  M[24] = tmp129;
  M[25] = -tmp79;
  M[26] = -tmp45;
  M[27] = 0.0e0;
  M[28] = 0.5508e0;
  M[29] = 0.0e0;
  M[30] = 0.0e0;
  M[31] = 0.0e0;
  M[32] = 0.0e0;
  M[33] = 0.0e0;
  M[34] = 0.0e0;
  M[35] = 0.268288e0;
}
```