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

```asm
<test3l>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  push   %rbx
  sub    $0x88,%rsp
  mov    %edi,-0x54(%rbp)
  fldt   0x10(%rbp)
  fstpt  -0x50(%rbp)
  fldt   0x20(%rbp)
  fstpt  -0x40(%rbp)
  fldt   0x30(%rbp)
  fstpt  -0x30(%rbp)
  fldt   0x40(%rbp)
  fstpt  -0x20(%rbp)
  push   0x28(%rbp)
  push   0x20(%rbp)
  push   0x18(%rbp)
  push   0x10(%rbp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x1e41(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1e3b(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  fldt   -0x50(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rcx
  mov    -0x88(%rbp),%ebx
  fldt   -0x40(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  mov    %rcx,-0x90(%rbp)
  mov    %ebx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  mov    %rax,-0x90(%rbp)
  mov    %edx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x1dbc(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1db6(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L75
  mov    $0x0,%eax
  call   <link_error@plt>
L75:
  push   0x28(%rbp)
  push   0x20(%rbp)
  push   0x18(%rbp)
  push   0x10(%rbp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0x1d5f(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1d59(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x1d34(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1d2e(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  fldt   -0x50(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rcx
  mov    -0x88(%rbp),%ebx
  fldt   -0x40(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  mov    %rcx,-0x90(%rbp)
  mov    %ebx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  mov    %rax,-0x90(%rbp)
  mov    %edx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0x1caf(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1ca9(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x1c84(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1c7e(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L29
  mov    $0x0,%eax
  call   <link_error@plt>
L29:
  fldt   -0x50(%rbp)
  fldt   -0x30(%rbp)
  fsubrp %st,%st(1)
  fldt   -0x40(%rbp)
  fldt   -0x20(%rbp)
  fsubrp %st,%st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0x1c13(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1c0d(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  fldt   -0x30(%rbp)
  fldt   -0x50(%rbp)
  fsubrp %st,%st(1)
  fldt   -0x20(%rbp)
  fldt   -0x40(%rbp)
  fsubrp %st,%st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0x1bd4(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1bce(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fchs
  fxch   %st(1)
  fchs
  fldt   -0x70(%rbp)
  fucomi %st(2),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(2),%st
  fstp   %st(1)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L17
  mov    $0x0,%eax
  call   <link_error@plt>
L17:
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  push   -0x38(%rbp)
  push   -0x40(%rbp)
  push   -0x48(%rbp)
  push   -0x50(%rbp)
  call   <__divxc3>
  add    $0x40,%rsp
  flds   0x1b65(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1b5f(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x1b3a(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1b34(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  fldt   -0x50(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  fldt   -0x40(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rcx
  mov    -0x88(%rbp),%ebx
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  push   %rbx
  push   %rcx
  push   %rdx
  push   %rax
  call   <__divxc3>
  add    $0x40,%rsp
  flds   0x1adb(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1ad5(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x1ab0(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1aaa(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L91
  mov    $0x0,%eax
  call   <link_error@plt>
L91:
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  push   -0x38(%rbp)
  push   -0x40(%rbp)
  push   -0x48(%rbp)
  push   -0x50(%rbp)
  call   <__divxc3>
  add    $0x40,%rsp
  flds   0x1a47(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1a41(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x1a1c(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1a16(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  fldt   -0x50(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  fldt   -0x40(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rcx
  mov    -0x88(%rbp),%ebx
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  push   %rbx
  push   %rcx
  push   %rdx
  push   %rax
  call   <__divxc3>
  add    $0x40,%rsp
  flds   0x19bd(%rip)        # 3000 <_fini+0x3f4>
  flds   0x19b7(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x1992(%rip)        # 3000 <_fini+0x3f4>
  flds   0x198c(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L154
  mov    $0x0,%eax
  call   <link_error@plt>
L154:
  push   0x48(%rbp)
  push   0x40(%rbp)
  push   0x38(%rbp)
  push   0x30(%rbp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0x1935(%rip)        # 3000 <_fini+0x3f4>
  flds   0x192f(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  push   -0x38(%rbp)
  push   -0x40(%rbp)
  push   -0x48(%rbp)
  push   -0x50(%rbp)
  call   <__divxc3>
  add    $0x40,%rsp
  flds   0x18fe(%rip)        # 3000 <_fini+0x3f4>
  flds   0x18f8(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x18d3(%rip)        # 3000 <_fini+0x3f4>
  flds   0x18cd(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  push   0x48(%rbp)
  push   0x40(%rbp)
  push   0x38(%rbp)
  push   0x30(%rbp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0x18a8(%rip)        # 3000 <_fini+0x3f4>
  flds   0x18a2(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  push   -0x38(%rbp)
  push   -0x40(%rbp)
  push   -0x48(%rbp)
  push   -0x50(%rbp)
  call   <__divxc3>
  add    $0x40,%rsp
  flds   0x1871(%rip)        # 3000 <_fini+0x3f4>
  flds   0x186b(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x1846(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1840(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L101
  mov    $0x0,%eax
  call   <link_error@plt>
L101:
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  push   -0x38(%rbp)
  push   -0x40(%rbp)
  push   -0x48(%rbp)
  push   -0x50(%rbp)
  call   <__mulxc3>
  add    $0x40,%rsp
  flds   0x17dd(%rip)        # 3000 <_fini+0x3f4>
  flds   0x17d7(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x17b2(%rip)        # 3000 <_fini+0x3f4>
  flds   0x17ac(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  fldt   -0x50(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  fldt   -0x40(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rcx
  mov    -0x88(%rbp),%ebx
  push   %rbx
  push   %rcx
  push   %rdx
  push   %rax
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  call   <__mulxc3>
  add    $0x40,%rsp
  flds   0x1753(%rip)        # 3000 <_fini+0x3f4>
  flds   0x174d(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x1728(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1722(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L26
  mov    $0x0,%eax
  call   <link_error@plt>
L26:
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  push   -0x38(%rbp)
  push   -0x40(%rbp)
  push   -0x48(%rbp)
  push   -0x50(%rbp)
  call   <__mulxc3>
  add    $0x40,%rsp
  flds   0x16bf(%rip)        # 3000 <_fini+0x3f4>
  flds   0x16b9(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x1694(%rip)        # 3000 <_fini+0x3f4>
  flds   0x168e(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  fldt   -0x30(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  fldt   -0x20(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rcx
  mov    -0x88(%rbp),%ebx
  push   %rbx
  push   %rcx
  push   %rdx
  push   %rax
  push   -0x38(%rbp)
  push   -0x40(%rbp)
  push   -0x48(%rbp)
  push   -0x50(%rbp)
  call   <__mulxc3>
  add    $0x40,%rsp
  flds   0x1635(%rip)        # 3000 <_fini+0x3f4>
  flds   0x162f(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x160a(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1604(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L176
  mov    $0x0,%eax
  call   <link_error@plt>
L176:
  push   0x28(%rbp)
  push   0x20(%rbp)
  push   0x18(%rbp)
  push   0x10(%rbp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0x15ad(%rip)        # 3000 <_fini+0x3f4>
  flds   0x15a7(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  call   <__mulxc3>
  add    $0x40,%rsp
  flds   0x1576(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1570(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x154b(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1545(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  fldt   -0x50(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rcx
  mov    -0x88(%rbp),%ebx
  fldt   -0x40(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  mov    %rcx,-0x90(%rbp)
  mov    %ebx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  mov    %rax,-0x90(%rbp)
  mov    %edx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0x14c6(%rip)        # 3000 <_fini+0x3f4>
  flds   0x14c0(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x30(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  fldt   -0x20(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  fxch   %st(1)
  mov    -0x90(%rbp),%rcx
  mov    -0x88(%rbp),%ebx
  push   %rbx
  push   %rcx
  push   %rdx
  push   %rax
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <__mulxc3>
  add    $0x40,%rsp
  flds   0x1467(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1461(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x143c(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1436(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L20
  mov    $0x0,%eax
  call   <link_error@plt>
L20:
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  push   -0x38(%rbp)
  push   -0x40(%rbp)
  push   -0x48(%rbp)
  push   -0x50(%rbp)
  call   <__divxc3>
  add    $0x40,%rsp
  flds   0x13d3(%rip)        # 3000 <_fini+0x3f4>
  flds   0x13cd(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0x13a8(%rip)        # 3000 <_fini+0x3f4>
  flds   0x13a2(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x137d(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1377(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  push   -0x38(%rbp)
  push   -0x40(%rbp)
  push   -0x48(%rbp)
  push   -0x50(%rbp)
  call   <__divxc3>
  add    $0x40,%rsp
  flds   0x1346(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1340(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0x131b(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1315(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x12f0(%rip)        # 3000 <_fini+0x3f4>
  flds   0x12ea(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L121
  mov    $0x0,%eax
  call   <link_error@plt>
L121:
  cmpl   $0x0,-0x54(%rbp)
  je     L235
  fldt   -0x50(%rbp)
  fldt   -0x40(%rbp)
  jmp    L113
L235:
  fldt   -0x30(%rbp)
  fldt   -0x20(%rbp)
L113:
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x127b(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1275(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  cmpl   $0x0,-0x54(%rbp)
  je     L222
  fldt   -0x50(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rcx
  mov    -0x88(%rbp),%ebx
  fldt   -0x40(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  mov    %rcx,-0x90(%rbp)
  mov    %ebx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  mov    %rax,-0x90(%rbp)
  mov    %edx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  jmp    L250
L222:
  fldt   -0x30(%rbp)
  fldt   -0x20(%rbp)
L250:
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x11e8(%rip)        # 3000 <_fini+0x3f4>
  flds   0x11e2(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L170
  mov    $0x0,%eax
  call   <link_error@plt>
L170:
  cmpl   $0x0,-0x54(%rbp)
  je     L262
  fldt   -0x50(%rbp)
  fldt   -0x40(%rbp)
  jmp    L85
L262:
  fldt   -0x30(%rbp)
  fldt   -0x20(%rbp)
L85:
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x1173(%rip)        # 3000 <_fini+0x3f4>
  flds   0x116d(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  cmpl   $0x0,-0x54(%rbp)
  jne    L63
  fldt   -0x30(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rcx
  mov    -0x88(%rbp),%ebx
  fldt   -0x20(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  mov    %rcx,-0x90(%rbp)
  mov    %ebx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  mov    %rax,-0x90(%rbp)
  mov    %edx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  jmp    L288
L63:
  fldt   -0x50(%rbp)
  fldt   -0x40(%rbp)
L288:
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x10e0(%rip)        # 3000 <_fini+0x3f4>
  flds   0x10da(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L150
  mov    $0x0,%eax
  call   <link_error@plt>
L150:
  cmpl   $0x0,-0x54(%rbp)
  jne    L4
  push   -0x38(%rbp)
  push   -0x40(%rbp)
  push   -0x48(%rbp)
  push   -0x50(%rbp)
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  call   <__divxc3>
  add    $0x40,%rsp
  flds   0x1071(%rip)        # 3000 <_fini+0x3f4>
  flds   0x106b(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0x1046(%rip)        # 3000 <_fini+0x3f4>
  flds   0x1040(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  jmp    L67
L4:
  fldt   -0x50(%rbp)
  fldt   -0x40(%rbp)
L67:
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0x1013(%rip)        # 3000 <_fini+0x3f4>
  flds   0x100d(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  cmpl   $0x0,-0x54(%rbp)
  je     L203
  fldt   -0x50(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rcx
  mov    -0x88(%rbp),%ebx
  fldt   -0x40(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  mov    %rcx,-0x90(%rbp)
  mov    %ebx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  mov    %rax,-0x90(%rbp)
  mov    %edx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  jmp    L245
L203:
  push   -0x38(%rbp)
  push   -0x40(%rbp)
  push   -0x48(%rbp)
  push   -0x50(%rbp)
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  call   <__divxc3>
  add    $0x40,%rsp
  flds   0xf7e(%rip)        # 3000 <_fini+0x3f4>
  flds   0xf78(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0xf53(%rip)        # 3000 <_fini+0x3f4>
  flds   0xf4d(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
L245:
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0xf28(%rip)        # 3000 <_fini+0x3f4>
  flds   0xf22(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L139
  mov    $0x0,%eax
  call   <link_error@plt>
L139:
  fldt   -0x40(%rbp)
  fchs
  fldt   -0x40(%rbp)
  fchs
  mov    $0x1,%ecx
  fldt   -0x50(%rbp)
  fldt   -0x50(%rbp)
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L254
  mov    $0x0,%ecx
L254:
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %edx,%eax
  or     %ecx,%eax
  cmp    $0x1,%al
  jne    L312
  mov    $0x0,%eax
  call   <link_error@plt>
L312:
  fldt   -0x40(%rbp)
  fchs
  fstpt  -0x70(%rbp)
  mov    -0x70(%rbp),%rax
  mov    -0x68(%rbp),%edx
  fldt   -0x50(%rbp)
  mov    %rax,-0x70(%rbp)
  mov    %edx,-0x68(%rbp)
  fldt   -0x70(%rbp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0xe6a(%rip)        # 3000 <_fini+0x3f4>
  flds   0xe64(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  fldt   -0x40(%rbp)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  fldt   -0x50(%rbp)
  mov    %rax,-0x90(%rbp)
  mov    %edx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ccosl@plt>
  add    $0x20,%rsp
  flds   0xe0d(%rip)        # 3000 <_fini+0x3f4>
  flds   0xe07(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L44
  mov    $0x0,%eax
  call   <link_error@plt>
L44:
  fldt   -0x50(%rbp)
  fldt   -0x30(%rbp)
  fsubrp %st,%st(1)
  fldt   -0x40(%rbp)
  fldt   -0x20(%rbp)
  fsubrp %st,%st(1)
  fchs
  fstpt  -0x70(%rbp)
  mov    -0x70(%rbp),%rax
  mov    -0x68(%rbp),%edx
  mov    %rax,-0x70(%rbp)
  mov    %edx,-0x68(%rbp)
  fldt   -0x70(%rbp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0xd86(%rip)        # 3000 <_fini+0x3f4>
  flds   0xd80(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  fldt   -0x30(%rbp)
  fldt   -0x50(%rbp)
  fsubrp %st,%st(1)
  fldt   -0x20(%rbp)
  fldt   -0x40(%rbp)
  fsubrp %st,%st(1)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  mov    %rax,-0x90(%rbp)
  mov    %edx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0xd1f(%rip)        # 3000 <_fini+0x3f4>
  flds   0xd19(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fchs
  fxch   %st(1)
  fchs
  fldt   -0x70(%rbp)
  fucomi %st(2),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(2),%st
  fstp   %st(1)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L268
  mov    $0x0,%eax
  call   <link_error@plt>
L268:
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  push   -0x38(%rbp)
  push   -0x40(%rbp)
  push   -0x48(%rbp)
  push   -0x50(%rbp)
  call   <__divxc3>
  add    $0x40,%rsp
  flds   0xcb0(%rip)        # 3000 <_fini+0x3f4>
  flds   0xcaa(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  fchs
  fstpt  -0x70(%rbp)
  mov    -0x70(%rbp),%rax
  mov    -0x68(%rbp),%edx
  mov    %rax,-0x70(%rbp)
  mov    %edx,-0x68(%rbp)
  fldt   -0x70(%rbp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0xc6f(%rip)        # 3000 <_fini+0x3f4>
  flds   0xc69(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fstpt  -0x70(%rbp)
  fstpt  -0x80(%rbp)
  push   -0x18(%rbp)
  push   -0x20(%rbp)
  push   -0x28(%rbp)
  push   -0x30(%rbp)
  push   -0x38(%rbp)
  push   -0x40(%rbp)
  push   -0x48(%rbp)
  push   -0x50(%rbp)
  call   <__divxc3>
  add    $0x40,%rsp
  flds   0xc38(%rip)        # 3000 <_fini+0x3f4>
  flds   0xc32(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fxch   %st(1)
  fchs
  fstpt  -0x90(%rbp)
  mov    -0x90(%rbp),%rax
  mov    -0x88(%rbp),%edx
  mov    %rax,-0x90(%rbp)
  mov    %edx,-0x88(%rbp)
  fldt   -0x90(%rbp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <ctanl@plt>
  add    $0x20,%rsp
  flds   0xbe5(%rip)        # 3000 <_fini+0x3f4>
  flds   0xbdf(%rip)        # 3000 <_fini+0x3f4>
  fstp   %st(0)
  fstp   %st(0)
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%edx
  fucomip %st(1),%st
  fstp   %st(0)
  cmove  %eax,%edx
  fldt   -0x80(%rbp)
  fucomi %st(1),%st
  setp   %al
  mov    $0x1,%ecx
  fucomip %st(1),%st
  fstp   %st(0)
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L310
  mov    $0x0,%eax
  call   <link_error@plt>
L310:
  fldt   -0x40(%rbp)
  fldt   -0x50(%rbp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <atan2l@plt>
  add    $0x20,%rsp
  fstpt  -0x70(%rbp)
  fldt   -0x40(%rbp)
  fldt   -0x50(%rbp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  lea    -0x10(%rsp),%rsp
  fstpt  (%rsp)
  call   <atan2l@plt>
  add    $0x20,%rsp
  fldt   -0x70(%rbp)
  fucomi %st(1),%st
  jp     L41
  fucomip %st(1),%st
  fstp   %st(0)
  je     L111
  jmp    L40
L41:
  fstp   %st(0)
  fstp   %st(0)
L40:
  mov    $0x0,%eax
  call   <link_error@plt>
L111:
  nop
  mov    -0x8(%rbp),%rbx
  leave
  ret
```

assistant: ```c
void test3l(__complex__ long double x, __complex__ long double y, int i) {
  if (ccosl(x) != ccosl(-x))
    link_error();
  if (ccosl(ctanl(x)) != ccosl(ctanl(-x)))
    link_error();
  if (ctanl(x - y) != -ctanl(y - x))
    link_error();
  if (ccosl(x / y) != ccosl(-x / y))
    link_error();
  if (ccosl(x / y) != ccosl(x / -y))
    link_error();
  if (ccosl(x / ctanl(y)) != ccosl(-x / ctanl(-y)))
    link_error();
  if (ccosl(x * y) != ccosl(-x * y))
    link_error();
  if (ccosl(x * y) != ccosl(x * -y))
    link_error();
  if (ccosl(ctanl(x) * y) != ccosl(ctanl(-x) * -y))
    link_error();
  if (ccosl(ctanl(x / y)) != ccosl(-ctanl(x / -y)))
    link_error();
  if (ccosl(i ? x : y) != ccosl(i ? -x : y))
    link_error();
  if (ccosl(i ? x : y) != ccosl(i ? x : -y))
    link_error();
  if (ccosl(i ? x : ctanl(y / x)) != ccosl(i ? -x : -ctanl(-y / x)))
    link_error();
  if (~x != -~-x)
    link_error();
  if (ccosl(~x) != ccosl(-~-x))
    link_error();
  if (ctanl(~(x - y)) != -ctanl(~(y - x)))
    link_error();
  if (ctanl(~(x / y)) != -ctanl(~(x / -y)))
    link_error();
  if (cargl(x) != atan2l(__imag__ x, __real__ x))
    link_error();
}
```