user: 这段汇编代码用C语言表示是什么样的:

```asm
<passf4>:
  endbr64
  push   %r15
  mov    %rcx,%r10
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  mov    %rdx,%rbx
  mov    0x38(%rsp),%rcx
  mov    %esi,-0x10(%rsp)
  cmp    $0x2,%edi
  je     L72
  test   %esi,%esi
  jle    L86
  imul   %edi,%esi
  lea    (%rdi,%rdi,1),%eax
  lea    -0x1(%rdi),%r11d
  lea    (%rax,%rdi,1),%edx
  movslq %esi,%r12
  lea    (%r12,%r12,1),%r13d
  lea    0x0(%r13,%r12,1),%r14d
  test   %r11d,%r11d
  jle    L86
  pxor   %xmm3,%xmm3
  movslq %r13d,%r13
  movslq %r14d,%r14
  movslq %edx,%r15
  lea    0x0(,%rdi,4),%ebp
  movl   $0x0,-0x1c(%rsp)
  cvtsi2ssl 0x40(%rsp),%xmm3
  movslq %ebp,%rbp
  lea    0x0(,%rbp,4),%rsi
  mov    %rsi,-0x18(%rsp)
  movslq %edi,%rsi
  lea    (%r10,%r12,4),%rdi
  lea    (%r10,%r13,4),%r12
  lea    (%r10,%r14,4),%r13
  movslq %eax,%r14
  nopl   0x0(%rax)
L40:
  mov    %rbx,%rdx
  xor    %eax,%eax
  nopl   (%rax)
L53:
  movq   (%rdx),%xmm0
  movq   (%rdx,%r14,4),%xmm6
  movq   (%rdx,%rsi,4),%xmm2
  movq   (%rdx,%r15,4),%xmm9
  movss  0x4(%rdx,%r15,4),%xmm7
  movaps %xmm0,%xmm5
  subss  %xmm6,%xmm0
  subss  0x4(%rdx,%rsi,4),%xmm7
  addps  %xmm6,%xmm5
  movaps %xmm2,%xmm4
  subss  %xmm9,%xmm2
  movss  0x4(%rdx),%xmm1
  addps  %xmm9,%xmm4
  subss  0x4(%rdx,%r14,4),%xmm1
  add    $0x8,%rdx
  mulss  %xmm3,%xmm7
  mulss  %xmm3,%xmm2
  movaps %xmm5,%xmm8
  movaps %xmm5,%xmm6
  shufps $0xe5,%xmm5,%xmm5
  addps  %xmm4,%xmm8
  subss  %xmm4,%xmm6
  shufps $0xe5,%xmm4,%xmm4
  subss  %xmm4,%xmm5
  movlps %xmm8,(%r10,%rax,4)
  movaps %xmm7,%xmm8
  addss  %xmm0,%xmm8
  subss  %xmm7,%xmm0
  movss  0x4(%r8,%rax,4),%xmm7
  movaps %xmm2,%xmm4
  addss  %xmm1,%xmm4
  subss  %xmm2,%xmm1
  movss  (%r8,%rax,4),%xmm2
  mulss  %xmm3,%xmm7
  mulss  %xmm8,%xmm2
  mulss  %xmm4,%xmm7
  subss  %xmm7,%xmm2
  movss  %xmm2,(%rdi,%rax,4)
  movss  0x4(%r8,%rax,4),%xmm2
  mulss  (%r8,%rax,4),%xmm4
  mulss  %xmm3,%xmm2
  mulss  %xmm8,%xmm2
  addss  %xmm4,%xmm2
  movss  %xmm2,0x4(%rdi,%rax,4)
  movss  0x4(%r9,%rax,4),%xmm4
  movss  (%r9,%rax,4),%xmm2
  mulss  %xmm3,%xmm4
  mulss  %xmm6,%xmm2
  mulss  %xmm5,%xmm4
  subss  %xmm4,%xmm2
  movss  %xmm2,(%r12,%rax,4)
  movss  0x4(%r9,%rax,4),%xmm2
  mulss  (%r9,%rax,4),%xmm5
  mulss  %xmm3,%xmm2
  mulss  %xmm6,%xmm2
  addss  %xmm5,%xmm2
  movss  %xmm2,0x4(%r12,%rax,4)
  movss  0x4(%rcx,%rax,4),%xmm4
  movss  (%rcx,%rax,4),%xmm2
  mulss  %xmm3,%xmm4
  mulss  %xmm0,%xmm2
  mulss  %xmm1,%xmm4
  subss  %xmm4,%xmm2
  movss  %xmm2,0x0(%r13,%rax,4)
  movss  0x4(%rcx,%rax,4),%xmm2
  mulss  (%rcx,%rax,4),%xmm1
  mulss  %xmm3,%xmm2
  mulss  %xmm2,%xmm0
  addss  %xmm1,%xmm0
  movss  %xmm0,0x4(%r13,%rax,4)
  add    $0x2,%rax
  cmp    %eax,%r11d
  jg     L53
  addl   $0x1,-0x1c(%rsp)
  add    -0x18(%rsp),%rbx
  add    %rbp,%r10
  add    %rbp,%rdi
  mov    -0x1c(%rsp),%eax
  add    %rbp,%r12
  add    %rbp,%r13
  cmp    %eax,-0x10(%rsp)
  jne    L40
L86:
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L72:
  test   %esi,%esi
  jle    L86
  lea    (%rsi,%rsi,1),%r15d
  lea    0x0(,%rsi,4),%edi
  pxor   %xmm5,%xmm5
  cvtsi2ssl 0x40(%rsp),%xmm5
  lea    (%r15,%rsi,1),%eax
  add    %eax,%eax
  mov    %eax,-0xc(%rsp)
  lea    -0x1(%rsi),%eax
  movslq %esi,%rsi
  lea    (%rsi,%rsi,1),%r11
  mov    %rsi,%r9
  mov    %eax,-0x1c(%rsp)
  lea    0x20(,%rsi,8),%r13
  lea    (%r11,%rsi,1),%rcx
  shl    $0x5,%r9
  lea    -0x24(%r13),%r14
  lea    0x0(,%rcx,8),%r8
  add    %rdx,%r9
  mov    %rcx,-0x18(%rsp)
  lea    0x0(,%rsi,8),%rbp
  lea    -0x4(%r8),%r12
  lea    (%r10,%rbp,1),%rdx
  cmp    $0x18,%r12
  lea    (%rdx,%rbp,1),%rax
  seta   %r12b
  cmp    $0x18,%r14
  lea    (%rax,%rbp,1),%rcx
  seta   %r14b
  and    %r12d,%r14d
  cmpl   $0x2,-0x1c(%rsp)
  seta   %r12b
  and    %r14d,%r12d
  lea    0x20(%r8),%r14
  cmp    %r14,%rbp
  setge  %bpl
  cmp    %r13,%r8
  setge  %r13b
  or     %r13d,%ebp
  and    %r12d,%ebp
  lea    0x20(%r10),%r12
  cmp    %r12,%rax
  setae  %r12b
  and    %r12d,%ebp
  cmp    %rdx,%rbx
  setae  %r12b
  cmp    %r9,%r10
  setae  %r13b
  or     %r13d,%r12d
  and    %ebp,%r12d
  mov    %rsi,%rbp
  shl    $0x4,%rbp
  add    %r10,%rbp
  cmp    %rbp,%rbx
  setae  %bpl
  cmp    %r9,%rdx
  setae  %r13b
  add    %r10,%r8
  or     %r13d,%ebp
  and    %r12d,%ebp
  cmp    %r8,%rbx
  setae  %r8b
  cmp    %r9,%rax
  setae  %r12b
  or     %r12d,%r8d
  test   %r8b,%bpl
  je     L119
  add    -0x18(%rsp),%rsi
  lea    (%r10,%rsi,8),%rsi
  cmp    %rsi,%rbx
  setae  %sil
  cmp    %r9,%rcx
  setae  %r8b
  or     %r8b,%sil
  je     L119
  mov    -0x10(%rsp),%esi
  movaps %xmm5,%xmm4
  mov    %rbx,%r8
  shufps $0x0,%xmm4,%xmm4
  shr    $0x2,%esi
  mov    %esi,%r9d
  xor    %esi,%esi
  shl    $0x5,%r9
  nopl   0x0(%rax,%rax,1)
L114:
  movups (%r8),%xmm2
  movups 0x10(%r8),%xmm3
  sub    $0xffffffffffffff80,%r8
  movups -0x60(%r8),%xmm8
  movups -0x40(%r8),%xmm7
  movaps %xmm2,%xmm6
  shufps $0xdd,%xmm3,%xmm2
  movups -0x20(%r8),%xmm1
  movups -0x10(%r8),%xmm0
  shufps $0x88,%xmm3,%xmm6
  movups -0x50(%r8),%xmm3
  movaps %xmm8,%xmm10
  movaps %xmm7,%xmm9
  shufps $0x88,%xmm3,%xmm10
  shufps $0xdd,%xmm3,%xmm8
  movups -0x30(%r8),%xmm3
  shufps $0x88,%xmm3,%xmm9
  shufps $0xdd,%xmm3,%xmm7
  movaps %xmm9,%xmm12
  movaps %xmm1,%xmm3
  movaps %xmm7,%xmm11
  shufps $0x88,%xmm0,%xmm3
  shufps $0xdd,%xmm0,%xmm1
  movaps %xmm6,%xmm0
  shufps $0x88,%xmm3,%xmm12
  shufps $0xdd,%xmm3,%xmm9
  shufps $0xdd,%xmm1,%xmm7
  movaps %xmm2,%xmm3
  shufps $0x88,%xmm1,%xmm11
  shufps $0xdd,%xmm10,%xmm6
  movaps %xmm6,%xmm1
  shufps $0xdd,%xmm8,%xmm2
  shufps $0xdd,%xmm9,%xmm6
  shufps $0x88,%xmm9,%xmm1
  shufps $0x88,%xmm8,%xmm3
  movaps %xmm2,%xmm9
  movaps %xmm3,%xmm8
  shufps $0x88,%xmm7,%xmm9
  shufps $0xdd,%xmm7,%xmm2
  shufps $0x88,%xmm10,%xmm0
  shufps $0x88,%xmm11,%xmm8
  movaps %xmm0,%xmm10
  movaps %xmm8,%xmm7
  shufps $0xdd,%xmm11,%xmm3
  shufps $0x88,%xmm12,%xmm10
  subps  %xmm3,%xmm7
  addps  %xmm8,%xmm3
  movaps %xmm10,%xmm8
  shufps $0xdd,%xmm12,%xmm0
  movaps %xmm6,%xmm12
  subps  %xmm0,%xmm8
  addps  %xmm10,%xmm0
  addps  %xmm1,%xmm12
  movaps %xmm2,%xmm11
  subps  %xmm9,%xmm2
  addps  %xmm9,%xmm11
  subps  %xmm6,%xmm1
  movaps %xmm0,%xmm10
  addps  %xmm12,%xmm10
  subps  %xmm12,%xmm0
  movaps %xmm3,%xmm12
  addps  %xmm11,%xmm12
  mulps  %xmm4,%xmm2
  subps  %xmm11,%xmm3
  mulps  %xmm4,%xmm1
  movaps %xmm10,%xmm13
  unpckhps %xmm12,%xmm10
  unpcklps %xmm12,%xmm13
  movups %xmm10,0x10(%r10,%rsi,1)
  movaps %xmm0,%xmm10
  unpckhps %xmm3,%xmm0
  movups %xmm13,(%r10,%rsi,1)
  unpcklps %xmm3,%xmm10
  movaps %xmm8,%xmm3
  movups %xmm0,0x10(%rax,%rsi,1)
  movaps %xmm8,%xmm0
  addps  %xmm2,%xmm3
  subps  %xmm2,%xmm0
  movaps %xmm7,%xmm2
  subps  %xmm1,%xmm7
  movups %xmm10,(%rax,%rsi,1)
  addps  %xmm1,%xmm2
  movaps %xmm3,%xmm6
  movaps %xmm0,%xmm1
  unpckhps %xmm7,%xmm0
  unpcklps %xmm2,%xmm6
  unpckhps %xmm2,%xmm3
  unpcklps %xmm7,%xmm1
  movups %xmm6,(%rdx,%rsi,1)
  movups %xmm3,0x10(%rdx,%rsi,1)
  movups %xmm1,(%rcx,%rsi,1)
  movups %xmm0,0x10(%rcx,%rsi,1)
  add    $0x20,%rsi
  cmp    %r9,%rsi
  jne    L114
  mov    -0x10(%rsp),%r14d
  mov    %r14d,%esi
  and    $0xfffffffc,%esi
  test   $0x3,%r14b
  je     L86
  lea    0x0(,%rsi,8),%ecx
  lea    (%rsi,%rsi,1),%edx
  lea    0x1(%rcx),%r8d
  movslq %edx,%r9
  movslq %r8d,%r8
  movss  (%rbx,%r8,4),%xmm2
  lea    0x0(,%r8,4),%rax
  lea    0x0(,%r9,4),%r8
  movss  0x10(%rbx,%rax,1),%xmm0
  movss  -0x4(%rbx,%rax,1),%xmm3
  movaps %xmm2,%xmm4
  movss  0x14(%rbx,%rax,1),%xmm7
  movss  0x18(%rbx,%rax,1),%xmm1
  subss  %xmm0,%xmm4
  addss  %xmm0,%xmm2
  movss  0xc(%rbx,%rax,1),%xmm0
  movaps %xmm3,%xmm6
  movss  0x8(%rbx,%rax,1),%xmm8
  movaps %xmm1,%xmm9
  subss  %xmm0,%xmm6
  addss  %xmm0,%xmm3
  movss  0x4(%rbx,%rax,1),%xmm0
  subss  %xmm8,%xmm1
  addss  %xmm8,%xmm9
  movaps %xmm0,%xmm10
  subss  %xmm7,%xmm0
  lea    (%rdx,%rdi,1),%eax
  addss  %xmm7,%xmm10
  movaps %xmm3,%xmm11
  movslq %eax,%r11
  sub    %r15d,%eax
  mulss  %xmm5,%xmm1
  mulss  %xmm5,%xmm0
  subss  %xmm10,%xmm3
  addss  %xmm10,%xmm11
  movss  %xmm11,(%r10,%r9,4)
  movss  %xmm3,(%r10,%r11,4)
  movaps %xmm2,%xmm3
  subss  %xmm9,%xmm2
  addss  %xmm9,%xmm3
  movss  %xmm3,0x4(%r10,%r9,4)
  movslq %eax,%r9
  add    %edi,%eax
  movss  %xmm2,0x4(%r10,%r11,4)
  movaps %xmm1,%xmm2
  cltq
  addss  %xmm6,%xmm2
  subss  %xmm1,%xmm6
  movaps %xmm0,%xmm1
  addss  %xmm4,%xmm1
  subss  %xmm0,%xmm4
  movss  %xmm2,(%r10,%r9,4)
  movss  %xmm6,(%r10,%rax,4)
  movss  %xmm1,0x4(%r10,%r9,4)
  movss  %xmm4,0x4(%r10,%rax,4)
  lea    0x1(%rsi),%eax
  cmp    %eax,%r14d
  jle    L86
  lea    0x9(%rcx),%r9d
  add    $0x2,%esi
  movslq %r9d,%r9
  movss  (%rbx,%r9,4),%xmm2
  lea    0x0(,%r9,4),%rax
  lea    0x3(%rdx),%r9d
  movss  0x10(%rbx,%rax,1),%xmm0
  movss  0xc(%rbx,%rax,1),%xmm3
  movslq %r9d,%r9
  movaps %xmm2,%xmm4
  movss  0x14(%rbx,%rax,1),%xmm7
  movss  0x8(%rbx,%rax,1),%xmm8
  subss  %xmm0,%xmm4
  addss  %xmm0,%xmm2
  movss  -0x4(%rbx,%rax,1),%xmm0
  movss  0x18(%rbx,%rax,1),%xmm1
  movaps %xmm7,%xmm10
  movaps %xmm8,%xmm9
  movaps %xmm0,%xmm6
  addss  %xmm1,%xmm9
  subss  %xmm8,%xmm1
  subss  %xmm3,%xmm6
  addss  %xmm0,%xmm3
  movss  0x4(%rbx,%rax,1),%xmm0
  lea    0x2(%rdx,%rdi,1),%eax
  addss  %xmm0,%xmm10
  subss  %xmm7,%xmm0
  mulss  %xmm5,%xmm1
  movslq %eax,%r11
  sub    %r15d,%eax
  mulss  %xmm5,%xmm0
  movaps %xmm10,%xmm11
  addss  %xmm3,%xmm11
  subss  %xmm10,%xmm3
  movss  %xmm11,0x8(%r10,%r8,1)
  movss  %xmm3,(%r10,%r11,4)
  movaps %xmm9,%xmm3
  addss  %xmm2,%xmm3
  subss  %xmm9,%xmm2
  movss  %xmm3,(%r10,%r9,4)
  movslq %eax,%r9
  add    %edi,%eax
  movss  %xmm2,0x4(%r10,%r11,4)
  movaps %xmm6,%xmm2
  subss  %xmm1,%xmm6
  cltq
  addss  %xmm1,%xmm2
  movaps %xmm4,%xmm1
  subss  %xmm0,%xmm4
  addss  %xmm0,%xmm1
  movss  %xmm2,(%r10,%r9,4)
  movss  %xmm6,(%r10,%rax,4)
  movss  %xmm1,0x4(%r10,%r9,4)
  movss  %xmm4,0x4(%r10,%rax,4)
  cmp    %esi,%r14d
  jle    L86
  lea    0x11(%rcx),%eax
  cltq
  movss  (%rbx,%rax,4),%xmm0
  lea    0x0(,%rax,4),%rcx
  lea    0x4(%rdx,%rdi,1),%eax
  add    $0x5,%edx
  movss  0x10(%rbx,%rcx,1),%xmm2
  movss  0xc(%rbx,%rcx,1),%xmm3
  movslq %edx,%rdx
  movaps %xmm0,%xmm4
  movss  0x14(%rbx,%rcx,1),%xmm7
  movss  0x8(%rbx,%rcx,1),%xmm8
  subss  %xmm2,%xmm4
  addss  %xmm0,%xmm2
  movss  -0x4(%rbx,%rcx,1),%xmm0
  movss  0x18(%rbx,%rcx,1),%xmm1
  movaps %xmm7,%xmm10
  movaps %xmm8,%xmm9
  movaps %xmm0,%xmm6
  addss  %xmm1,%xmm9
  subss  %xmm8,%xmm1
  subss  %xmm3,%xmm6
  addss  %xmm0,%xmm3
  movss  0x4(%rbx,%rcx,1),%xmm0
  movslq %eax,%rcx
  sub    %r15d,%eax
  addss  %xmm0,%xmm10
  subss  %xmm7,%xmm0
  mulss  %xmm5,%xmm1
  mulss  %xmm5,%xmm0
  movaps %xmm10,%xmm11
  addss  %xmm3,%xmm11
  subss  %xmm10,%xmm3
  movss  %xmm11,0x10(%r10,%r8,1)
  movss  %xmm3,(%r10,%rcx,4)
  movaps %xmm9,%xmm3
  addss  %xmm2,%xmm3
  subss  %xmm9,%xmm2
  movss  %xmm3,(%r10,%rdx,4)
  movslq %eax,%rdx
  add    %edi,%eax
  movss  %xmm2,0x4(%r10,%rcx,4)
  movaps %xmm1,%xmm2
  cltq
  addss  %xmm6,%xmm2
  subss  %xmm1,%xmm6
  movaps %xmm0,%xmm1
  addss  %xmm4,%xmm1
  subss  %xmm0,%xmm4
  movss  %xmm2,(%r10,%rdx,4)
  movss  %xmm6,(%r10,%rax,4)
  movss  %xmm1,0x4(%r10,%rdx,4)
  movss  %xmm4,0x4(%r10,%rax,4)
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L119:
  mov    -0x1c(%rsp),%eax
  movslq %edi,%rdi
  shl    $0x5,%rax
  lea    0x20(%rbx,%rax,1),%rdx
  movslq -0xc(%rsp),%rax
  nop
L10:
  movss  0x4(%rbx),%xmm0
  movss  0x14(%rbx),%xmm2
  add    $0x20,%rbx
  movss  -0x10(%rbx),%xmm3
  movss  -0x8(%rbx),%xmm7
  movaps %xmm0,%xmm4
  movss  -0x14(%rbx),%xmm8
  movss  -0x4(%rbx),%xmm1
  subss  %xmm2,%xmm4
  addss  %xmm0,%xmm2
  movss  -0x20(%rbx),%xmm0
  movaps %xmm7,%xmm10
  movaps %xmm8,%xmm9
  movaps %xmm0,%xmm6
  addss  %xmm1,%xmm9
  subss  %xmm8,%xmm1
  subss  %xmm3,%xmm6
  addss  %xmm0,%xmm3
  movss  -0x18(%rbx),%xmm0
  addss  %xmm0,%xmm10
  subss  %xmm7,%xmm0
  mulss  %xmm5,%xmm1
  mulss  %xmm5,%xmm0
  movaps %xmm10,%xmm11
  addss  %xmm3,%xmm11
  subss  %xmm10,%xmm3
  movss  %xmm11,(%r10)
  movss  %xmm3,(%r10,%rdi,4)
  movaps %xmm9,%xmm3
  addss  %xmm2,%xmm3
  subss  %xmm9,%xmm2
  movss  %xmm3,0x4(%r10)
  movss  %xmm2,0x4(%r10,%rdi,4)
  movaps %xmm1,%xmm2
  addss  %xmm6,%xmm2
  subss  %xmm1,%xmm6
  movaps %xmm0,%xmm1
  addss  %xmm4,%xmm1
  subss  %xmm0,%xmm4
  movss  %xmm2,(%r10,%r11,4)
  movss  %xmm6,(%r10,%rax,4)
  movss  %xmm1,0x4(%r10,%r11,4)
  movss  %xmm4,0x4(%r10,%rax,4)
  add    $0x8,%r10
  cmp    %rbx,%rdx
  jne    L10
  jmp    L86
```

assistant: ```c
void passf4(int ido, int l1, const float cc[], float ch[], const float wa1[], const float wa2[], const float wa3[], int isign) {
  int i, k, ac, ah;
  float ci2, ci3, ci4, cr2, cr3, cr4, ti1, ti2, ti3, ti4, tr1, tr2, tr3, tr4;
  if (ido == 2) {
    for (k = 0; k < l1; k++) {
      ac = 4 * k * ido + 1;
      ti1 = cc[ac] - cc[ac + 2 * ido];
      ti2 = cc[ac] + cc[ac + 2 * ido];
      tr4 = cc[ac + 3 * ido] - cc[ac + ido];
      ti3 = cc[ac + ido] + cc[ac + 3 * ido];
      tr1 = cc[ac - 1] - cc[ac + 2 * ido - 1];
      tr2 = cc[ac - 1] + cc[ac + 2 * ido - 1];
      ti4 = cc[ac + ido - 1] - cc[ac + 3 * ido - 1];
      tr3 = cc[ac + ido - 1] + cc[ac + 3 * ido - 1];
      ah = k * ido;
      ch[ah] = tr2 + tr3;
      ch[ah + 2 * l1 * ido] = tr2 - tr3;
      ch[ah + 1] = ti2 + ti3;
      ch[ah + 2 * l1 * ido + 1] = ti2 - ti3;
      ch[ah + l1 * ido] = tr1 + isign * tr4;
      ch[ah + 3 * l1 * ido] = tr1 - isign * tr4;
      ch[ah + l1 * ido + 1] = ti1 + isign * ti4;
      ch[ah + 3 * l1 * ido + 1] = ti1 - isign * ti4;
    }
  } else {
    for (k = 0; k < l1; k++) {
      for (i = 0; i < ido - 1; i += 2) {
        ac = i + 1 + 4 * k * ido;
        ti1 = cc[ac] - cc[ac + 2 * ido];
        ti2 = cc[ac] + cc[ac + 2 * ido];
        ti3 = cc[ac + ido] + cc[ac + 3 * ido];
        tr4 = cc[ac + 3 * ido] - cc[ac + ido];
        tr1 = cc[ac - 1] - cc[ac + 2 * ido - 1];
        tr2 = cc[ac - 1] + cc[ac + 2 * ido - 1];
        ti4 = cc[ac + ido - 1] - cc[ac + 3 * ido - 1];
        tr3 = cc[ac + ido - 1] + cc[ac + 3 * ido - 1];
        ah = i + k * ido;
        ch[ah] = tr2 + tr3;
        cr3 = tr2 - tr3;
        ch[ah + 1] = ti2 + ti3;
        ci3 = ti2 - ti3;
        cr2 = tr1 + isign * tr4;
        cr4 = tr1 - isign * tr4;
        ci2 = ti1 + isign * ti4;
        ci4 = ti1 - isign * ti4;
        ch[ah + l1 * ido] = wa1[i] * cr2 - isign * wa1[i + 1] * ci2;
        ch[ah + l1 * ido + 1] = wa1[i] * ci2 + isign * wa1[i + 1] * cr2;
        ch[ah + 2 * l1 * ido] = wa2[i] * cr3 - isign * wa2[i + 1] * ci3;
        ch[ah + 2 * l1 * ido + 1] = wa2[i] * ci3 + isign * wa2[i + 1] * cr3;
        ch[ah + 3 * l1 * ido] = wa3[i] * cr4 - isign * wa3[i + 1] * ci4;
        ch[ah + 3 * l1 * ido + 1] = wa3[i] * ci4 + isign * wa3[i + 1] * cr4;
      }
    }
  }
}
```