user: 提供的汇编代码用C语言表示会是什么样子：

```asm
<dwt_encode_97>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  mov    %esi,%ebp
  push   %rbx
  mov    %rdi,%rbx
  sub    $0x18,%rsp
  mov    %edx,0x4(%rsp)
  test   %ecx,%ecx
  jne    L810
  mov    %ecx,%r12d
  test   %esi,%esi
  jg     L1176
  cmp    $0x1,%edx
  jle    L396
  test   %esi,%esi
  jle    L765
L1176:
  mov    0x4(%rsp),%ecx
  lea    -0x1(%rcx),%eax
  mov    %eax,0xc(%rsp)
  add    %eax,%eax
  cltq
  lea    (%rbx,%rax,4),%r14
  test   %ecx,%ecx
  jle    L1260
  cmp    %ebp,%ecx
  mov    $0x1,%r15d
  cmovg  %ebp,%ecx
  mov    %ecx,0x8(%rsp)
  jmp    L607
  nopw   0x0(%rax,%rax,1)
L545:
  add    (%r14),%edi
L431:
  mov    $0x32c1,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  sub    %eax,-0x4(%rbx,%r15,8)
  add    $0x1,%r15
  lea    -0x1(%r15),%eax
  cmp    %eax,0x8(%rsp)
  jle    L1166
L607:
  mov    -0x8(%rbx,%r15,8),%edi
  mov    %r15d,%r13d
  cmp    %r15d,0x4(%rsp)
  jle    L545
  lea    (%r15,%r15,1),%eax
  cltq
  add    (%rbx,%rax,4),%edi
  jmp    L431
L810:
  mov    0x4(%rsp),%r10d
  test   %r10d,%r10d
  jg     L604
  cmp    $0x1,%esi
  jg     L604
L396:
  add    $0x18,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  xchg   %ax,%ax
L604:
  test   %ebp,%ebp
  jle    L880
  mov    0x4(%rsp),%edx
  lea    -0x1(%rdx),%eax
  mov    %eax,0xc(%rsp)
  lea    -0x1(%rdx,%rdx,1),%eax
  cltq
  lea    (%rbx,%rax,4),%r12
  test   %edx,%edx
  jle    L265
  cmp    %ebp,%edx
  cmovg  %ebp,%edx
  xor    %r14d,%r14d
  mov    %edx,%r13d
  jmp    L666
  nopw   0x0(%rax,%rax,1)
L625:
  cmp    %r14d,0x4(%rsp)
  jge    L67
  mov    (%r12),%edi
L356:
  add    %eax,%edi
  mov    $0x32c1,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  sub    %eax,(%rbx,%r14,8)
  lea    0x1(%r14),%eax
  add    $0x1,%r14
  cmp    %r14d,%r13d
  jle    L140
L666:
  mov    0x4(%rbx,%r14,8),%eax
  test   %r14,%r14
  jne    L625
  mov    0x4(%rbx),%edi
  jmp    L356
  nopl   0x0(%rax)
L67:
  mov    -0x4(%rbx,%r14,8),%edi
  jmp    L356
  nop
L1260:
  xor    %r13d,%r13d
L905:
  add    $0x1,%r13d
  movslq %r13d,%r13
  jmp    L328
  nopl   0x0(%rax)
L339:
  add    %edi,%edi
L1105:
  mov    $0x32c1,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  sub    %eax,-0x4(%rbx,%r13,8)
  add    $0x1,%r13
  lea    -0x1(%r13),%eax
  cmp    %eax,%ebp
  jle    L549
L328:
  mov    (%r14),%edi
  cmp    %r13d,0x4(%rsp)
  jle    L339
  lea    0x0(%r13,%r13,1),%eax
  cltq
  add    (%rbx,%rax,4),%edi
  jmp    L1105
  nopl   0x0(%rax)
L140:
  cmp    %eax,%ebp
  jle    L933
L824:
  movslq %eax,%r13
  jmp    L825
  nopl   0x0(%rax)
L602:
  mov    %edi,%eax
  cmp    %r13d,0x4(%rsp)
  jl     L879
  lea    -0x1(%r13,%r13,1),%eax
  cltq
  mov    (%rbx,%rax,4),%eax
L879:
  add    %eax,%edi
  mov    $0x32c1,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  sub    %eax,(%rbx,%r13,8)
  add    $0x1,%r13
  cmp    %r13d,%ebp
  jle    L115
L825:
  mov    (%r12),%edi
  test   %r13d,%r13d
  jne    L602
  mov    0x4(%rbx),%eax
  jmp    L879
  nopl   0x0(%rax)
L115:
  mov    0x4(%rsp),%r9d
  test   %r9d,%r9d
  jle    L1011
L933:
  lea    -0x1(%rbp),%eax
  mov    $0x1,%r14d
  mov    %eax,0x8(%rsp)
  add    %eax,%eax
  cltq
  lea    (%rbx,%rax,4),%r13
  mov    0x4(%rsp),%eax
  cmp    %ebp,%eax
  mov    %eax,%r15d
  cmovg  %ebp,%r15d
L88:
  mov    -0x8(%rbx,%r14,8),%edi
  mov    %r14d,%r12d
  cmp    %r14d,%ebp
  jg     L316
  add    0x0(%r13),%edi
  mov    $0x1b2,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  sub    %eax,-0x4(%rbx,%r14,8)
  add    $0x1,%r14
  lea    -0x1(%r14),%eax
  cmp    %r15d,%eax
  jl     L88
  mov    0xc(%rsp),%eax
  cmp    0x4(%rsp),%r12d
  jge    L802
L526:
  add    $0x1,%r12d
  movslq %r12d,%r12
  nopl   (%rax)
L358:
  mov    0x0(%r13),%edi
  cmp    %r12d,%ebp
  jg     L1140
  add    %edi,%edi
  mov    $0x1b2,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  sub    %eax,-0x4(%rbx,%r12,8)
  add    $0x1,%r12
  lea    -0x1(%r12),%eax
  cmp    %eax,0x4(%rsp)
  jg     L358
L642:
  test   %ebp,%ebp
  jle    L514
  mov    0x4(%rsp),%eax
  sub    $0x1,%eax
  mov    %eax,0xc(%rsp)
L802:
  lea    0x1(%rax,%rax,1),%eax
  cltq
  lea    (%rbx,%rax,4),%r12
  mov    0x4(%rsp),%eax
  cmp    %ebp,%eax
  mov    %eax,%r13d
  cmovg  %ebp,%r13d
  xor    %r15d,%r15d
  jmp    L571
  cs nopw 0x0(%rax,%rax,1)
L631:
  cmp    %r15d,0x4(%rsp)
  jge    L1090
  mov    (%r12),%edi
L487:
  add    %eax,%edi
  mov    $0x1c41,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  add    %eax,(%rbx,%r15,8)
  lea    0x1(%r15),%eax
  add    $0x1,%r15
  cmp    %r15d,%r13d
  jle    L676
L571:
  mov    0x4(%rbx,%r15,8),%eax
  test   %r15,%r15
  jne    L631
  mov    0x4(%rbx),%edi
  jmp    L487
  nopl   0x0(%rax)
L316:
  lea    (%r14,%r14,1),%eax
  mov    $0x1b2,%esi
  cltq
  add    (%rbx,%rax,4),%edi
  xor    %eax,%eax
  call   <fix_mul@plt>
  sub    %eax,-0x4(%rbx,%r14,8)
  add    $0x1,%r14
  lea    -0x1(%r14),%eax
  cmp    %eax,%r15d
  jg     L88
  mov    0xc(%rsp),%eax
  cmp    0x4(%rsp),%r12d
  jl     L526
  jmp    L802
  nopw   0x0(%rax,%rax,1)
L1140:
  lea    (%r12,%r12,1),%eax
  mov    $0x1b2,%esi
  cltq
  add    (%rbx,%rax,4),%edi
  xor    %eax,%eax
  call   <fix_mul@plt>
  sub    %eax,-0x4(%rbx,%r12,8)
  add    $0x1,%r12
  lea    -0x1(%r12),%eax
  cmp    0x4(%rsp),%eax
  jl     L358
  jmp    L642
  nopw   0x0(%rax,%rax,1)
L1090:
  mov    -0x4(%rbx,%r15,8),%edi
  jmp    L487
  nopw   0x0(%rax,%rax,1)
L676:
  cmp    %eax,%ebp
  jle    L542
L849:
  movslq %eax,%r13
  jmp    L1142
  nopl   (%rax)
L449:
  mov    %edi,%eax
  cmp    %r13d,0x4(%rsp)
  jl     L531
  lea    -0x1(%r13,%r13,1),%eax
  cltq
  mov    (%rbx,%rax,4),%eax
L531:
  add    %eax,%edi
  mov    $0x1c41,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  add    %eax,(%rbx,%r13,8)
  add    $0x1,%r13
  cmp    %r13d,%ebp
  jle    L1116
L1142:
  mov    (%r12),%edi
  test   %r13d,%r13d
  jne    L449
  mov    0x4(%rbx),%eax
  jmp    L531
  nopl   0x0(%rax,%rax,1)
L265:
  xor    %eax,%eax
  jmp    L824
  nopw   0x0(%rax,%rax,1)
L1166:
  cmp    %ebp,%r13d
  jl     L905
L959:
  lea    -0x1(%rbp),%eax
  mov    %eax,0x8(%rsp)
  lea    -0x1(%rbp,%rbp,1),%eax
  cltq
  lea    (%rbx,%rax,4),%r13
  mov    0x4(%rsp),%eax
  cmp    %ebp,%eax
  mov    %eax,%r15d
  cmovg  %ebp,%r15d
  xor    %r14d,%r14d
  jmp    L974
  nopl   0x0(%rax)
L23:
  cmp    %r14d,%ebp
  jge    L1029
  mov    0x0(%r13),%edi
L150:
  add    0x4(%rbx,%r14,8),%edi
  mov    $0x1b2,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  sub    %eax,(%rbx,%r14,8)
  lea    0x1(%r14),%eax
  add    $0x1,%r14
  cmp    %r14d,%r15d
  jle    L576
L974:
  test   %r14,%r14
  jne    L23
  mov    0x4(%rbx),%edi
  jmp    L150
  nopl   (%rax)
L1029:
  mov    -0x4(%rbx,%r14,8),%edi
  jmp    L150
  nop
L576:
  cmp    %eax,0x4(%rsp)
  jle    L1034
L1030:
  movslq %eax,%r15
  jmp    L55
  nopl   0x0(%rax,%rax,1)
L108:
  cmp    %r15d,%ebp
  jge    L674
  mov    0x0(%r13),%eax
  mov    %eax,%edi
L1159:
  add    %eax,%edi
  mov    $0x1b2,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  sub    %eax,(%rbx,%r15,8)
  add    $0x1,%r15
  cmp    %r15d,0x4(%rsp)
  jle    L1034
L55:
  test   %r15d,%r15d
  jne    L108
  mov    0x4(%rbx),%edi
  mov    0x0(%r13),%eax
  jmp    L1159
  nopw   0x0(%rax,%rax,1)
L1034:
  test   %ebp,%ebp
  jle    L1121
  mov    0x4(%rsp),%ecx
  mov    $0x1,%r15d
  cmp    %ebp,%ecx
  lea    -0x2(%rcx,%rcx,1),%eax
  cmovg  %ebp,%ecx
  cltq
  lea    (%rbx,%rax,4),%r14
  mov    %ecx,0x8(%rsp)
  nopl   (%rax)
L593:
  mov    -0x8(%rbx,%r15,8),%edi
  mov    %r15d,%r13d
  cmp    %r15d,0x4(%rsp)
  jg     L506
  add    (%r14),%edi
  mov    $0x1c41,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  add    %eax,-0x4(%rbx,%r15,8)
  add    $0x1,%r15
  lea    -0x1(%r15),%eax
  cmp    %eax,0x8(%rsp)
  jg     L593
  cmp    %ebp,%r13d
  jge    L1038
L74:
  add    $0x1,%r13d
  movslq %r13d,%r13
  jmp    L1264
  nopl   0x0(%rax,%rax,1)
L753:
  add    %edi,%edi
L82:
  mov    $0x1c41,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  add    %eax,-0x4(%rbx,%r13,8)
  add    $0x1,%r13
  lea    -0x1(%r13),%eax
  cmp    %eax,%ebp
  jle    L1038
L1264:
  mov    (%r14),%edi
  cmp    %r13d,0x4(%rsp)
  jle    L753
  lea    0x0(%r13,%r13,1),%eax
  cltq
  add    (%rbx,%rax,4),%edi
  jmp    L82
  nopl   (%rax)
L1038:
  mov    0x4(%rsp),%r13d
  test   %r13d,%r13d
  jle    L1170
  lea    -0x1(%rbp),%eax
  mov    %eax,0x8(%rsp)
  lea    -0x1(%rbp,%rbp,1),%eax
  cltq
  lea    (%rbx,%rax,4),%r13
  test   %ebp,%ebp
  jle    L1197
  mov    0x4(%rsp),%eax
  cmp    %ebp,%eax
  mov    %eax,%r15d
  cmovg  %ebp,%r15d
  xor    %r14d,%r14d
  jmp    L945
  nopl   0x0(%rax)
L935:
  cmp    %r14d,%ebp
  jge    L460
  mov    0x0(%r13),%edi
L43:
  add    0x4(%rbx,%r14,8),%edi
  mov    $0xe31,%esi
  lea    0x1(%r14),%r12d
  xor    %eax,%eax
  call   <fix_mul@plt>
  add    %eax,(%rbx,%r14,8)
  add    $0x1,%r14
  cmp    %r14d,%r15d
  jle    L229
L945:
  test   %r14,%r14
  jne    L935
  mov    0x4(%rbx),%edi
  jmp    L43
  nopl   0x0(%rax)
L506:
  lea    (%r15,%r15,1),%eax
  mov    $0x1c41,%esi
  cltq
  add    (%rbx,%rax,4),%edi
  xor    %eax,%eax
  call   <fix_mul@plt>
  add    %eax,-0x4(%rbx,%r15,8)
  add    $0x1,%r15
  lea    -0x1(%r15),%eax
  cmp    0x8(%rsp),%eax
  jl     L593
  cmp    %ebp,%r13d
  jl     L74
  jmp    L1038
  nopw   0x0(%rax,%rax,1)
L674:
  lea    -0x1(%r15,%r15,1),%eax
  cltq
  mov    (%rbx,%rax,4),%edi
  mov    0x0(%r13),%eax
  jmp    L1159
  nopl   0x0(%rax,%rax,1)
L460:
  mov    -0x4(%rbx,%r14,8),%edi
  jmp    L43
  nopw   0x0(%rax,%rax,1)
L229:
  cmp    %r12d,0x4(%rsp)
  jle    L882
L1197:
  movslq %r12d,%r12
  jmp    L521
  nopl   0x0(%rax)
L1277:
  cmp    %ebp,%r12d
  jle    L1071
  mov    0x0(%r13),%eax
  mov    %eax,%edi
L27:
  add    %eax,%edi
  mov    $0xe31,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  add    %eax,(%rbx,%r12,8)
  add    $0x1,%r12
  cmp    %r12d,0x4(%rsp)
  jle    L216
L521:
  test   %r12d,%r12d
  jne    L1277
  mov    0x4(%rbx),%edi
  mov    0x0(%r13),%eax
  jmp    L27
  cs nopw 0x0(%rax,%rax,1)
L1071:
  lea    -0x1(%r12,%r12,1),%eax
  cltq
  mov    (%rbx,%rax,4),%edi
  mov    0x0(%r13),%eax
  jmp    L27
L216:
  test   %ebp,%ebp
  jle    L313
L882:
  mov    0x8(%rsp),%r14d
  lea    0x4(%rbx),%rbp
  lea    0xc(%rbx,%r14,8),%r12
  nopw   0x0(%rax,%rax,1)
L7:
  mov    0x0(%rbp),%edi
  mov    $0x13ae,%esi
  xor    %eax,%eax
  add    $0x8,%rbp
  call   <fix_mul@plt>
  mov    %eax,-0x8(%rbp)
  cmp    %r12,%rbp
  jne    L7
  mov    0x4(%rsp),%r11d
  test   %r11d,%r11d
  jle    L396
L313:
  mov    0x4(%rsp),%eax
  mov    %rbx,%rbp
  sub    $0x1,%eax
  lea    0x8(%rbx,%rax,8),%rbx
L874:
  mov    0x0(%rbp),%edi
  mov    $0x1a03,%esi
  xor    %eax,%eax
  add    $0x8,%rbp
  call   <fix_mul@plt>
  mov    %eax,-0x8(%rbp)
  cmp    %rbp,%rbx
  jne    L874
  add    $0x18,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopw   0x0(%rax,%rax,1)
L1116:
  mov    0x4(%rsp),%r8d
  lea    -0x1(%rbp),%eax
  mov    %eax,0x8(%rsp)
  test   %r8d,%r8d
  jle    L622
L785:
  mov    0x8(%rsp),%r14d
  mov    0x4(%rsp),%eax
  mov    $0x1,%r15d
  add    %r14d,%r14d
  cmp    %ebp,%eax
  movslq %r14d,%r14
  lea    (%rbx,%r14,4),%r13
  mov    %eax,%r14d
  cmovg  %ebp,%r14d
  nopw   0x0(%rax,%rax,1)
L1233:
  mov    -0x8(%rbx,%r15,8),%edi
  mov    %r15d,%r12d
  cmp    %r15d,%ebp
  jg     L1239
  add    0x0(%r13),%edi
  mov    $0xe31,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  add    %eax,-0x4(%rbx,%r15,8)
  add    $0x1,%r15
  lea    -0x1(%r15),%eax
  cmp    %r14d,%eax
  jl     L1233
L432:
  cmp    0x4(%rsp),%r12d
  jge    L1230
L1220:
  add    $0x1,%r12d
  movslq %r12d,%r12
  nopl   0x0(%rax)
L523:
  mov    0x0(%r13),%edi
  cmp    %r12d,%ebp
  jg     L211
  add    %edi,%edi
  mov    $0xe31,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  add    %eax,-0x4(%rbx,%r12,8)
  add    $0x1,%r12
  lea    -0x1(%r12),%eax
  cmp    %eax,0x4(%rsp)
  jg     L523
L1230:
  test   %ebp,%ebp
  jle    L508
L44:
  xor    %r12d,%r12d
  xchg   %ax,%ax
L921:
  mov    (%rbx,%r12,8),%edi
  mov    $0x13ae,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  mov    %eax,(%rbx,%r12,8)
  add    $0x1,%r12
  cmp    %r12d,%ebp
  jg     L921
  mov    0x4(%rsp),%edi
  test   %edi,%edi
  jle    L396
L508:
  xor    %ebp,%ebp
  nopl   0x0(%rax,%rax,1)
L923:
  mov    0x4(%rbx,%rbp,8),%edi
  mov    $0x1a03,%esi
  xor    %eax,%eax
  call   <fix_mul@plt>
  mov    %eax,0x4(%rbx,%rbp,8)
  add    $0x1,%rbp
  cmp    %ebp,0x4(%rsp)
  jg     L923
  add    $0x18,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopl   (%rax)
L211:
  lea    (%r12,%r12,1),%eax
  mov    $0xe31,%esi
  cltq
  add    (%rbx,%rax,4),%edi
  xor    %eax,%eax
  call   <fix_mul@plt>
  add    %eax,-0x4(%rbx,%r12,8)
  add    $0x1,%r12
  lea    -0x1(%r12),%eax
  cmp    0x4(%rsp),%eax
  jl     L523
  jmp    L1230
  nopw   0x0(%rax,%rax,1)
L1239:
  lea    (%r15,%r15,1),%eax
  mov    $0xe31,%esi
  cltq
  add    (%rbx,%rax,4),%edi
  xor    %eax,%eax
  call   <fix_mul@plt>
  add    %eax,-0x4(%rbx,%r15,8)
  add    $0x1,%r15
  lea    -0x1(%r15),%eax
  cmp    %eax,%r14d
  jg     L1233
  jmp    L432
  nopl   0x0(%rax,%rax,1)
L549:
  mov    0x4(%rsp),%r14d
  test   %r14d,%r14d
  jg     L959
  mov    0xc(%rsp),%eax
  xor    %r13d,%r13d
  add    %eax,%eax
  cltq
  lea    (%rbx,%rax,4),%r14
  jmp    L74
  nopw   0x0(%rax,%rax,1)
L542:
  mov    0x4(%rsp),%eax
  test   %eax,%eax
  jg     L785
  jmp    L44
  nopl   0x0(%rax)
L765:
  test   %edx,%edx
  jle    L1170
  lea    -0x1(%rsi),%eax
  mov    %eax,0x8(%rsp)
  lea    -0x1(%rsi,%rsi,1),%eax
  cltq
  lea    (%rdi,%rax,4),%r13
  xor    %eax,%eax
  jmp    L1030
L1011:
  mov    0xc(%rsp),%eax
  lea    0x1(%rax,%rax,1),%eax
  cltq
  lea    (%rbx,%rax,4),%r12
  xor    %eax,%eax
  jmp    L849
  nopl   (%rax)
L1121:
  mov    0x4(%rsp),%edx
  test   %edx,%edx
  jle    L1170
  mov    0x8(%rsp),%eax
  lea    0x1(%rax,%rax,1),%eax
  cltq
  lea    (%rbx,%rax,4),%r13
  jmp    L1197
L514:
  mov    0x4(%rsp),%esi
  test   %esi,%esi
  jle    L396
  mov    0x8(%rsp),%eax
  xor    %r12d,%r12d
  add    %eax,%eax
  cltq
  lea    (%rbx,%rax,4),%r13
  jmp    L1220
  nopl   0x0(%rax,%rax,1)
L880:
  mov    0x4(%rsp),%ecx
  test   %ecx,%ecx
  jle    L396
  lea    -0x1(%rbp),%eax
  xor    %r12d,%r12d
  mov    %eax,0x8(%rsp)
  add    %eax,%eax
  cltq
  lea    (%rbx,%rax,4),%r13
  jmp    L526
  nopl   0x0(%rax,%rax,1)
L1170:
  lea    -0x1(%rbp),%eax
  mov    %eax,0x8(%rsp)
  test   %ebp,%ebp
  jg     L882
  jmp    L396
L622:
  test   %ebp,%ebp
  jg     L44
  jmp    L396
```

assistant: ```c
void dwt_encode_97(int *a, int dn, int sn, int cas) {
  int i;
  if (!cas) {
    if ((dn > 0) || (sn > 1)) {
      for (i = 0; i < dn; i++) {
        a[(1 + (i)*2)] -= fix_mul(((i) < 0 ? a[(0) * 2] : ((i) >= sn ? a[(sn - 1) * 2] : a[(i)*2])) + ((i + 1) < 0 ? a[(0) * 2] : ((i + 1) >= sn ? a[(sn - 1) * 2] : a[(i + 1) * 2])), 12993);
      }
      for (i = 0; i < sn; i++) {
        a[(i)*2] -= fix_mul(((i - 1) < 0 ? a[(1 + (0) * 2)] : ((i - 1) >= dn ? a[(1 + (dn - 1) * 2)] : a[(1 + (i - 1) * 2)])) + ((i) < 0 ? a[(1 + (0) * 2)] : ((i) >= dn ? a[(1 + (dn - 1) * 2)] : a[(1 + (i)*2)])), 434);
      }
      for (i = 0; i < dn; i++) {
        a[(1 + (i)*2)] += fix_mul(((i) < 0 ? a[(0) * 2] : ((i) >= sn ? a[(sn - 1) * 2] : a[(i)*2])) + ((i + 1) < 0 ? a[(0) * 2] : ((i + 1) >= sn ? a[(sn - 1) * 2] : a[(i + 1) * 2])), 7233);
      }
      for (i = 0; i < sn; i++) {
        a[(i)*2] += fix_mul(((i - 1) < 0 ? a[(1 + (0) * 2)] : ((i - 1) >= dn ? a[(1 + (dn - 1) * 2)] : a[(1 + (i - 1) * 2)])) + ((i) < 0 ? a[(1 + (0) * 2)] : ((i) >= dn ? a[(1 + (dn - 1) * 2)] : a[(1 + (i)*2)])), 3633);
      }
      for (i = 0; i < dn; i++) {
        a[(1 + (i)*2)] = fix_mul(a[(1 + (i)*2)], 5038);
      }
      for (i = 0; i < sn; i++) {
        a[(i)*2] = fix_mul(a[(i)*2], 6659);
      }
    }
  } else {
    if ((sn > 0) || (dn > 1)) {
      for (i = 0; i < dn; i++) {
        a[(i)*2] -= fix_mul(((i) < 0 ? a[(1 + (0) * 2)] : ((i) >= sn ? a[(1 + (sn - 1) * 2)] : a[(1 + (i)*2)])) + ((i - 1) < 0 ? a[(1 + (0) * 2)] : ((i - 1) >= sn ? a[(1 + (sn - 1) * 2)] : a[(1 + (i - 1) * 2)])), 12993);
      }
      for (i = 0; i < sn; i++) {
        a[(1 + (i)*2)] -= fix_mul(((i) < 0 ? a[(0) * 2] : ((i) >= dn ? a[(dn - 1) * 2] : a[(i)*2])) + ((i + 1) < 0 ? a[(0) * 2] : ((i + 1) >= dn ? a[(dn - 1) * 2] : a[(i + 1) * 2])), 434);
      }
      for (i = 0; i < dn; i++) {
        a[(i)*2] += fix_mul(((i) < 0 ? a[(1 + (0) * 2)] : ((i) >= sn ? a[(1 + (sn - 1) * 2)] : a[(1 + (i)*2)])) + ((i - 1) < 0 ? a[(1 + (0) * 2)] : ((i - 1) >= sn ? a[(1 + (sn - 1) * 2)] : a[(1 + (i - 1) * 2)])), 7233);
      }
      for (i = 0; i < sn; i++) {
        a[(1 + (i)*2)] += fix_mul(((i) < 0 ? a[(0) * 2] : ((i) >= dn ? a[(dn - 1) * 2] : a[(i)*2])) + ((i + 1) < 0 ? a[(0) * 2] : ((i + 1) >= dn ? a[(dn - 1) * 2] : a[(i + 1) * 2])), 3633);
      }
      for (i = 0; i < dn; i++) {
        a[(i)*2] = fix_mul(a[(i)*2], 5038);
      }
      for (i = 0; i < sn; i++) {
        a[(1 + (i)*2)] = fix_mul(a[(1 + (i)*2)], 6659);
      }
    }
  }
}
```