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

```asm
<test3f>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  push   %rbx
  sub    $0x358,%rsp
  movq   %xmm0,%rax
  mov    %rax,-0x28(%rbp)
  movss  -0x28(%rbp),%xmm2
  movss  -0x24(%rbp),%xmm0
  movss  %xmm2,-0x30(%rbp)
  movss  %xmm0,-0x2c(%rbp)
  movdqa %xmm1,%xmm0
  movq   %xmm0,-0x38(%rbp)
  movss  -0x38(%rbp),%xmm1
  movss  -0x34(%rbp),%xmm0
  movss  %xmm1,-0x40(%rbp)
  movss  %xmm0,-0x3c(%rbp)
  mov    %edi,-0x44(%rbp)
  movss  -0x30(%rbp),%xmm0
  movss  %xmm0,-0x20(%rbp)
  movss  -0x2c(%rbp),%xmm0
  movss  %xmm0,-0x1c(%rbp)
  movss  -0x40(%rbp),%xmm0
  movss  %xmm0,-0x18(%rbp)
  movss  -0x3c(%rbp),%xmm0
  movss  %xmm0,-0x14(%rbp)
  mov    -0x30(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x50(%rbp)
  movss  -0x50(%rbp),%xmm1
  movss  -0x4c(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  movss  -0x20(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  movaps %xmm0,%xmm2
  xorps  %xmm1,%xmm2
  movss  -0x1c(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movaps %xmm2,%xmm1
  movss  %xmm1,-0x58(%rbp)
  movss  %xmm0,-0x54(%rbp)
  mov    -0x58(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x60(%rbp)
  movss  -0x60(%rbp),%xmm1
  movss  -0x5c(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm6
  ucomiss %xmm1,%xmm6
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm6
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm7
  ucomiss %xmm0,%xmm7
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm7
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L110
  mov    $0x0,%eax
  call   <link_error@plt>
L110:
  mov    -0x30(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x68(%rbp)
  movss  -0x68(%rbp),%xmm1
  movss  -0x64(%rbp),%xmm0
  movss  %xmm1,-0x70(%rbp)
  movss  %xmm0,-0x6c(%rbp)
  mov    -0x70(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x78(%rbp)
  movss  -0x78(%rbp),%xmm1
  movss  -0x74(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  movss  -0x20(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  movaps %xmm0,%xmm2
  xorps  %xmm1,%xmm2
  movss  -0x1c(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movaps %xmm2,%xmm1
  movss  %xmm1,-0x80(%rbp)
  movss  %xmm0,-0x7c(%rbp)
  mov    -0x80(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x88(%rbp)
  movss  -0x88(%rbp),%xmm1
  movss  -0x84(%rbp),%xmm0
  movss  %xmm1,-0x90(%rbp)
  movss  %xmm0,-0x8c(%rbp)
  mov    -0x90(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x98(%rbp)
  movss  -0x98(%rbp),%xmm1
  movss  -0x94(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm4
  ucomiss %xmm1,%xmm4
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm4
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm5
  ucomiss %xmm0,%xmm5
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm5
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L257
  mov    $0x0,%eax
  call   <link_error@plt>
L257:
  movss  -0x20(%rbp),%xmm0
  movaps %xmm0,%xmm1
  subss  -0x18(%rbp),%xmm1
  movss  -0x1c(%rbp),%xmm0
  subss  -0x14(%rbp),%xmm0
  movss  %xmm1,-0xa0(%rbp)
  movss  %xmm0,-0x9c(%rbp)
  mov    -0xa0(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0xa8(%rbp)
  movss  -0xa8(%rbp),%xmm1
  movss  -0xa4(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  movss  -0x18(%rbp),%xmm0
  movaps %xmm0,%xmm6
  subss  -0x20(%rbp),%xmm6
  movaps %xmm6,%xmm1
  movss  -0x14(%rbp),%xmm0
  subss  -0x1c(%rbp),%xmm0
  movss  %xmm1,-0xb0(%rbp)
  movss  %xmm0,-0xac(%rbp)
  mov    -0xb0(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0xb8(%rbp)
  movss  -0xb8(%rbp),%xmm1
  movss  -0xb4(%rbp),%xmm0
  movaps %xmm0,%xmm2
  movss  D29(%rip),%xmm0
  xorps  %xmm0,%xmm1
  movss  D29(%rip),%xmm0
  xorps  %xmm2,%xmm0
  movss  -0x354(%rbp),%xmm7
  ucomiss %xmm1,%xmm7
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm7
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm4
  ucomiss %xmm0,%xmm4
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm4
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L106
  mov    $0x0,%eax
  call   <link_error@plt>
L106:
  movss  -0x14(%rbp),%xmm2
  movss  -0x18(%rbp),%xmm1
  movss  -0x1c(%rbp),%xmm0
  mov    -0x20(%rbp),%eax
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__divsc3>
  movq   %xmm0,%rax
  mov    %rax,-0xc0(%rbp)
  movss  -0xc0(%rbp),%xmm1
  movss  -0xbc(%rbp),%xmm0
  movss  %xmm1,-0xc8(%rbp)
  movss  %xmm0,-0xc4(%rbp)
  mov    -0xc8(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0xd0(%rbp)
  movss  -0xd0(%rbp),%xmm1
  movss  -0xcc(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  movss  -0x20(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  movaps %xmm0,%xmm5
  xorps  %xmm1,%xmm5
  movd   %xmm5,%eax
  movss  -0x1c(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movss  -0x14(%rbp),%xmm2
  movss  -0x18(%rbp),%xmm1
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__divsc3>
  movq   %xmm0,%rax
  mov    %rax,-0xd8(%rbp)
  movss  -0xd8(%rbp),%xmm1
  movss  -0xd4(%rbp),%xmm0
  movss  %xmm1,-0xe0(%rbp)
  movss  %xmm0,-0xdc(%rbp)
  mov    -0xe0(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0xe8(%rbp)
  movss  -0xe8(%rbp),%xmm1
  movss  -0xe4(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm6
  ucomiss %xmm1,%xmm6
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm6
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm5
  ucomiss %xmm0,%xmm5
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm5
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L142
  mov    $0x0,%eax
  call   <link_error@plt>
L142:
  movss  -0x14(%rbp),%xmm2
  movss  -0x18(%rbp),%xmm1
  movss  -0x1c(%rbp),%xmm0
  mov    -0x20(%rbp),%eax
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__divsc3>
  movq   %xmm0,%rax
  mov    %rax,-0xf0(%rbp)
  movss  -0xf0(%rbp),%xmm1
  movss  -0xec(%rbp),%xmm0
  movss  %xmm1,-0xf8(%rbp)
  movss  %xmm0,-0xf4(%rbp)
  mov    -0xf8(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x100(%rbp)
  movss  -0x100(%rbp),%xmm1
  movss  -0xfc(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  movss  -0x20(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  movaps %xmm0,%xmm7
  xorps  %xmm1,%xmm7
  movd   %xmm7,%eax
  movss  -0x1c(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movss  -0x14(%rbp),%xmm2
  movss  -0x18(%rbp),%xmm1
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__divsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x108(%rbp)
  movss  -0x108(%rbp),%xmm1
  movss  -0x104(%rbp),%xmm0
  movss  %xmm1,-0x110(%rbp)
  movss  %xmm0,-0x10c(%rbp)
  mov    -0x110(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x118(%rbp)
  movss  -0x118(%rbp),%xmm1
  movss  -0x114(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm4
  ucomiss %xmm1,%xmm4
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm4
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm6
  ucomiss %xmm0,%xmm6
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm6
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L155
  mov    $0x0,%eax
  call   <link_error@plt>
L155:
  mov    -0x40(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x120(%rbp)
  movss  -0x120(%rbp),%xmm1
  movss  -0x11c(%rbp),%xmm0
  movaps %xmm0,%xmm2
  movss  -0x1c(%rbp),%xmm0
  mov    -0x20(%rbp),%eax
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__divsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x128(%rbp)
  movss  -0x128(%rbp),%xmm1
  movss  -0x124(%rbp),%xmm0
  movss  %xmm1,-0x130(%rbp)
  movss  %xmm0,-0x12c(%rbp)
  mov    -0x130(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x138(%rbp)
  movss  -0x138(%rbp),%xmm1
  movss  -0x134(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  mov    -0x40(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x140(%rbp)
  movss  -0x140(%rbp),%xmm1
  movss  -0x13c(%rbp),%xmm0
  movaps %xmm0,%xmm2
  movss  -0x1c(%rbp),%xmm0
  mov    -0x20(%rbp),%eax
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__divsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x148(%rbp)
  movss  -0x148(%rbp),%xmm1
  movss  -0x144(%rbp),%xmm0
  movss  %xmm1,-0x150(%rbp)
  movss  %xmm0,-0x14c(%rbp)
  mov    -0x150(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x158(%rbp)
  movss  -0x158(%rbp),%xmm1
  movss  -0x154(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm7
  ucomiss %xmm1,%xmm7
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm7
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm3
  ucomiss %xmm0,%xmm3
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm3
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L163
  mov    $0x0,%eax
  call   <link_error@plt>
L163:
  movss  -0x14(%rbp),%xmm2
  movss  -0x18(%rbp),%xmm1
  movss  -0x1c(%rbp),%xmm0
  mov    -0x20(%rbp),%eax
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__mulsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x160(%rbp)
  movss  -0x160(%rbp),%xmm1
  movss  -0x15c(%rbp),%xmm0
  movss  %xmm1,-0x168(%rbp)
  movss  %xmm0,-0x164(%rbp)
  mov    -0x168(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x170(%rbp)
  movss  -0x170(%rbp),%xmm1
  movss  -0x16c(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  movss  -0x20(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  movaps %xmm0,%xmm2
  xorps  %xmm1,%xmm2
  movss  -0x1c(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm0,%xmm1
  movss  -0x14(%rbp),%xmm0
  mov    -0x18(%rbp),%eax
  movaps %xmm1,%xmm3
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__mulsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x178(%rbp)
  movss  -0x178(%rbp),%xmm1
  movss  -0x174(%rbp),%xmm0
  movss  %xmm1,-0x180(%rbp)
  movss  %xmm0,-0x17c(%rbp)
  mov    -0x180(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x188(%rbp)
  movss  -0x188(%rbp),%xmm1
  movss  -0x184(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm5
  ucomiss %xmm1,%xmm5
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm5
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm4
  ucomiss %xmm0,%xmm4
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm4
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L58
  mov    $0x0,%eax
  call   <link_error@plt>
L58:
  movss  -0x14(%rbp),%xmm2
  movss  -0x18(%rbp),%xmm1
  movss  -0x1c(%rbp),%xmm0
  mov    -0x20(%rbp),%eax
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__mulsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x190(%rbp)
  movss  -0x190(%rbp),%xmm1
  movss  -0x18c(%rbp),%xmm0
  movss  %xmm1,-0x198(%rbp)
  movss  %xmm0,-0x194(%rbp)
  mov    -0x198(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x1a0(%rbp)
  movss  -0x1a0(%rbp),%xmm1
  movss  -0x19c(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  movss  -0x18(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  movaps %xmm0,%xmm2
  xorps  %xmm1,%xmm2
  movss  -0x14(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm0,%xmm1
  movss  -0x1c(%rbp),%xmm0
  mov    -0x20(%rbp),%eax
  movaps %xmm1,%xmm3
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__mulsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x1a8(%rbp)
  movss  -0x1a8(%rbp),%xmm1
  movss  -0x1a4(%rbp),%xmm0
  movss  %xmm1,-0x1b0(%rbp)
  movss  %xmm0,-0x1ac(%rbp)
  mov    -0x1b0(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x1b8(%rbp)
  movss  -0x1b8(%rbp),%xmm1
  movss  -0x1b4(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm6
  ucomiss %xmm1,%xmm6
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm6
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm7
  ucomiss %xmm0,%xmm7
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm7
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L126
  mov    $0x0,%eax
  call   <link_error@plt>
L126:
  mov    -0x30(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x1c0(%rbp)
  movss  -0x1c0(%rbp),%xmm1
  movss  -0x1bc(%rbp),%xmm0
  movaps %xmm0,%xmm2
  movss  -0x14(%rbp),%xmm0
  mov    -0x18(%rbp),%eax
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__mulsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x1c8(%rbp)
  movss  -0x1c8(%rbp),%xmm1
  movss  -0x1c4(%rbp),%xmm0
  movss  %xmm1,-0x1d0(%rbp)
  movss  %xmm0,-0x1cc(%rbp)
  mov    -0x1d0(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x1d8(%rbp)
  movss  -0x1d8(%rbp),%xmm1
  movss  -0x1d4(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  movss  -0x20(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  movaps %xmm0,%xmm2
  xorps  %xmm1,%xmm2
  movss  -0x1c(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movaps %xmm2,%xmm1
  movss  %xmm1,-0x1e0(%rbp)
  movss  %xmm0,-0x1dc(%rbp)
  mov    -0x1e0(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x1e8(%rbp)
  movss  -0x1e8(%rbp),%xmm1
  movss  -0x1e4(%rbp),%xmm0
  movaps %xmm1,%xmm4
  movaps %xmm0,%xmm5
  movss  -0x18(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  movaps %xmm0,%xmm2
  xorps  %xmm1,%xmm2
  movss  -0x14(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movaps %xmm0,%xmm3
  movaps %xmm5,%xmm1
  movaps %xmm4,%xmm0
  call   <__mulsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x1f0(%rbp)
  movss  -0x1f0(%rbp),%xmm1
  movss  -0x1ec(%rbp),%xmm0
  movss  %xmm1,-0x1f8(%rbp)
  movss  %xmm0,-0x1f4(%rbp)
  mov    -0x1f8(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x200(%rbp)
  movss  -0x200(%rbp),%xmm1
  movss  -0x1fc(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm3
  ucomiss %xmm1,%xmm3
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm3
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm5
  ucomiss %xmm0,%xmm5
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm5
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L201
  mov    $0x0,%eax
  call   <link_error@plt>
L201:
  movss  -0x14(%rbp),%xmm2
  movss  -0x18(%rbp),%xmm1
  movss  -0x1c(%rbp),%xmm0
  mov    -0x20(%rbp),%eax
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__divsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x208(%rbp)
  movss  -0x208(%rbp),%xmm1
  movss  -0x204(%rbp),%xmm0
  movss  %xmm1,-0x210(%rbp)
  movss  %xmm0,-0x20c(%rbp)
  mov    -0x210(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x218(%rbp)
  movss  -0x218(%rbp),%xmm1
  movss  -0x214(%rbp),%xmm0
  movss  %xmm1,-0x220(%rbp)
  movss  %xmm0,-0x21c(%rbp)
  mov    -0x220(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x228(%rbp)
  movss  -0x228(%rbp),%xmm1
  movss  -0x224(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  movss  -0x14(%rbp),%xmm2
  movss  -0x18(%rbp),%xmm1
  movss  -0x1c(%rbp),%xmm0
  mov    -0x20(%rbp),%eax
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__divsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x230(%rbp)
  movss  -0x230(%rbp),%xmm1
  movss  -0x22c(%rbp),%xmm0
  movss  %xmm1,-0x238(%rbp)
  movss  %xmm0,-0x234(%rbp)
  mov    -0x238(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x240(%rbp)
  movss  -0x240(%rbp),%xmm1
  movss  -0x23c(%rbp),%xmm0
  movss  %xmm1,-0x248(%rbp)
  movss  %xmm0,-0x244(%rbp)
  mov    -0x248(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x250(%rbp)
  movss  -0x250(%rbp),%xmm1
  movss  -0x24c(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm4
  ucomiss %xmm1,%xmm4
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm4
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm6
  ucomiss %xmm0,%xmm6
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm6
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L314
  mov    $0x0,%eax
  call   <link_error@plt>
L314:
  cmpl   $0x0,-0x44(%rbp)
  je     L53
  movss  -0x20(%rbp),%xmm1
  movss  -0x1c(%rbp),%xmm0
  jmp    L49
L53:
  movss  -0x18(%rbp),%xmm1
  movss  -0x14(%rbp),%xmm0
L49:
  movss  %xmm1,-0x258(%rbp)
  movss  %xmm0,-0x254(%rbp)
  mov    -0x258(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x260(%rbp)
  movss  -0x260(%rbp),%xmm1
  movss  -0x25c(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  cmpl   $0x0,-0x44(%rbp)
  je     L249
  movss  -0x20(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  movaps %xmm0,%xmm2
  xorps  %xmm1,%xmm2
  movss  -0x1c(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movaps %xmm2,%xmm1
  jmp    L206
L249:
  movss  -0x18(%rbp),%xmm1
  movss  -0x14(%rbp),%xmm0
L206:
  movss  %xmm1,-0x268(%rbp)
  movss  %xmm0,-0x264(%rbp)
  mov    -0x268(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x270(%rbp)
  movss  -0x270(%rbp),%xmm1
  movss  -0x26c(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm7
  ucomiss %xmm1,%xmm7
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm7
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm3
  ucomiss %xmm0,%xmm3
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm3
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L26
  mov    $0x0,%eax
  call   <link_error@plt>
L26:
  cmpl   $0x0,-0x44(%rbp)
  je     L227
  movss  -0x20(%rbp),%xmm1
  movss  -0x1c(%rbp),%xmm0
  jmp    L277
L227:
  movss  -0x18(%rbp),%xmm1
  movss  -0x14(%rbp),%xmm0
L277:
  movss  %xmm1,-0x278(%rbp)
  movss  %xmm0,-0x274(%rbp)
  mov    -0x278(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x280(%rbp)
  movss  -0x280(%rbp),%xmm1
  movss  -0x27c(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  cmpl   $0x0,-0x44(%rbp)
  jne    L78
  movss  -0x18(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  movaps %xmm0,%xmm2
  xorps  %xmm1,%xmm2
  movss  -0x14(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movaps %xmm2,%xmm1
  jmp    L127
L78:
  movss  -0x20(%rbp),%xmm1
  movss  -0x1c(%rbp),%xmm0
L127:
  movss  %xmm1,-0x288(%rbp)
  movss  %xmm0,-0x284(%rbp)
  mov    -0x288(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x290(%rbp)
  movss  -0x290(%rbp),%xmm1
  movss  -0x28c(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm5
  ucomiss %xmm1,%xmm5
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm5
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm4
  ucomiss %xmm0,%xmm4
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm4
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L240
  mov    $0x0,%eax
  call   <link_error@plt>
L240:
  cmpl   $0x0,-0x44(%rbp)
  jne    L80
  movss  -0x1c(%rbp),%xmm2
  movss  -0x20(%rbp),%xmm1
  movss  -0x14(%rbp),%xmm0
  mov    -0x18(%rbp),%eax
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__divsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x298(%rbp)
  movss  -0x298(%rbp),%xmm1
  movss  -0x294(%rbp),%xmm0
  movss  %xmm1,-0x2a0(%rbp)
  movss  %xmm0,-0x29c(%rbp)
  mov    -0x2a0(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x2a8(%rbp)
  movss  -0x2a8(%rbp),%xmm1
  movss  -0x2a4(%rbp),%xmm0
  jmp    L119
L80:
  movss  -0x20(%rbp),%xmm1
  movss  -0x1c(%rbp),%xmm0
L119:
  movss  %xmm1,-0x2b0(%rbp)
  movss  %xmm0,-0x2ac(%rbp)
  mov    -0x2b0(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x2b8(%rbp)
  movss  -0x2b8(%rbp),%xmm1
  movss  -0x2b4(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  cmpl   $0x0,-0x44(%rbp)
  je     L168
  movss  -0x20(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  movaps %xmm0,%xmm2
  xorps  %xmm1,%xmm2
  movss  -0x1c(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movaps %xmm2,%xmm1
  jmp    L192
L168:
  movss  -0x1c(%rbp),%xmm2
  movss  -0x20(%rbp),%xmm1
  movss  -0x14(%rbp),%xmm0
  mov    -0x18(%rbp),%eax
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__divsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x2c0(%rbp)
  movss  -0x2c0(%rbp),%xmm1
  movss  -0x2bc(%rbp),%xmm0
  movss  %xmm1,-0x2c8(%rbp)
  movss  %xmm0,-0x2c4(%rbp)
  mov    -0x2c8(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x2d0(%rbp)
  movss  -0x2d0(%rbp),%xmm1
  movss  -0x2cc(%rbp),%xmm0
L192:
  movss  %xmm1,-0x2d8(%rbp)
  movss  %xmm0,-0x2d4(%rbp)
  mov    -0x2d8(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x2e0(%rbp)
  movss  -0x2e0(%rbp),%xmm1
  movss  -0x2dc(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm6
  ucomiss %xmm1,%xmm6
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm6
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm7
  ucomiss %xmm0,%xmm7
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm7
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L105
  mov    $0x0,%eax
  call   <link_error@plt>
L105:
  movss  -0x1c(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movss  -0x1c(%rbp),%xmm1
  movss  D29(%rip),%xmm2
  xorps  %xmm2,%xmm1
  mov    $0x1,%ecx
  movss  -0x20(%rbp),%xmm2
  ucomiss -0x20(%rbp),%xmm2
  jp     L123
  mov    $0x0,%ecx
L123:
  ucomiss %xmm1,%xmm0
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm0
  cmovne %edx,%eax
  or     %ecx,%eax
  cmp    $0x1,%al
  jne    L11
  mov    $0x0,%eax
  call   <link_error@plt>
L11:
  movss  -0x1c(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm0,%xmm1
  movss  -0x20(%rbp),%xmm0
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movaps %xmm2,%xmm0
  movss  %xmm1,-0x2e8(%rbp)
  movss  %xmm0,-0x2e4(%rbp)
  mov    -0x2e8(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x2f0(%rbp)
  movss  -0x2f0(%rbp),%xmm1
  movss  -0x2ec(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  movss  -0x1c(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm0,%xmm1
  movss  -0x20(%rbp),%xmm0
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movaps %xmm2,%xmm0
  movss  %xmm1,-0x2f8(%rbp)
  movss  %xmm0,-0x2f4(%rbp)
  mov    -0x2f8(%rbp),%rax
  movq   %rax,%xmm0
  call   <ccosf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x300(%rbp)
  movss  -0x300(%rbp),%xmm1
  movss  -0x2fc(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm3
  ucomiss %xmm1,%xmm3
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm3
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm5
  ucomiss %xmm0,%xmm5
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm5
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L1
  mov    $0x0,%eax
  call   <link_error@plt>
L1:
  movss  -0x20(%rbp),%xmm0
  movaps %xmm0,%xmm2
  subss  -0x18(%rbp),%xmm2
  movss  -0x1c(%rbp),%xmm0
  subss  -0x14(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movaps %xmm2,%xmm1
  movss  %xmm1,-0x308(%rbp)
  movss  %xmm0,-0x304(%rbp)
  mov    -0x308(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x310(%rbp)
  movss  -0x310(%rbp),%xmm1
  movss  -0x30c(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  movss  -0x18(%rbp),%xmm0
  movaps %xmm0,%xmm2
  subss  -0x20(%rbp),%xmm2
  movss  -0x14(%rbp),%xmm0
  subss  -0x1c(%rbp),%xmm0
  movss  D29(%rip),%xmm1
  xorps  %xmm1,%xmm0
  movaps %xmm2,%xmm1
  movss  %xmm1,-0x318(%rbp)
  movss  %xmm0,-0x314(%rbp)
  mov    -0x318(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x320(%rbp)
  movss  -0x320(%rbp),%xmm1
  movss  -0x31c(%rbp),%xmm0
  movaps %xmm0,%xmm2
  movss  D29(%rip),%xmm0
  xorps  %xmm0,%xmm1
  movss  D29(%rip),%xmm0
  xorps  %xmm2,%xmm0
  movss  -0x354(%rbp),%xmm4
  ucomiss %xmm1,%xmm4
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm4
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm6
  ucomiss %xmm0,%xmm6
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm6
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L79
  mov    $0x0,%eax
  call   <link_error@plt>
L79:
  movss  -0x14(%rbp),%xmm2
  movss  -0x18(%rbp),%xmm1
  movss  -0x1c(%rbp),%xmm0
  mov    -0x20(%rbp),%eax
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__divsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x328(%rbp)
  movss  -0x328(%rbp),%xmm1
  movss  -0x324(%rbp),%xmm0
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movss  D29(%rip),%xmm0
  xorps  %xmm1,%xmm0
  movaps %xmm2,%xmm1
  movss  %xmm1,-0x330(%rbp)
  movss  %xmm0,-0x32c(%rbp)
  mov    -0x330(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x338(%rbp)
  movss  -0x338(%rbp),%xmm1
  movss  -0x334(%rbp),%xmm0
  movss  %xmm1,-0x354(%rbp)
  movss  %xmm0,-0x358(%rbp)
  movss  -0x14(%rbp),%xmm2
  movss  -0x18(%rbp),%xmm1
  movss  -0x1c(%rbp),%xmm0
  mov    -0x20(%rbp),%eax
  movaps %xmm2,%xmm3
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <__divsc3>
  movq   %xmm0,%rax
  mov    %rax,-0x340(%rbp)
  movss  -0x340(%rbp),%xmm1
  movss  -0x33c(%rbp),%xmm0
  movaps %xmm1,%xmm2
  movaps %xmm0,%xmm1
  movss  D29(%rip),%xmm0
  xorps  %xmm1,%xmm0
  movaps %xmm2,%xmm1
  movss  %xmm1,-0x348(%rbp)
  movss  %xmm0,-0x344(%rbp)
  mov    -0x348(%rbp),%rax
  movq   %rax,%xmm0
  call   <ctanf@plt>
  movq   %xmm0,%rax
  mov    %rax,-0x350(%rbp)
  movss  -0x350(%rbp),%xmm1
  movss  -0x34c(%rbp),%xmm0
  movss  -0x354(%rbp),%xmm7
  ucomiss %xmm1,%xmm7
  setp   %al
  mov    $0x1,%edx
  ucomiss %xmm1,%xmm7
  cmove  %eax,%edx
  movss  -0x358(%rbp),%xmm3
  ucomiss %xmm0,%xmm3
  setp   %al
  mov    $0x1,%ecx
  ucomiss %xmm0,%xmm3
  cmovne %ecx,%eax
  or     %edx,%eax
  cmp    $0x1,%al
  jne    L205
  mov    $0x0,%eax
  call   <link_error@plt>
L205:
  movss  -0x20(%rbp),%xmm0
  mov    -0x1c(%rbp),%eax
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <atan2f@plt>
  movd   %xmm0,%ebx
  movss  -0x20(%rbp),%xmm0
  mov    -0x1c(%rbp),%eax
  movaps %xmm0,%xmm1
  movd   %eax,%xmm0
  call   <atan2f@plt>
  movd   %ebx,%xmm5
  ucomiss %xmm0,%xmm5
  jp     L283
  movd   %ebx,%xmm5
  ucomiss %xmm0,%xmm5
  je     L296
L283:
  mov    $0x0,%eax
  call   <link_error@plt>
L296:
  nop
  mov    -0x8(%rbp),%rbx
  leave
  ret
```

tool_calls: name: unpack_data
arguments: data_label: D29
type_guessed: byte[4]

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

assistant: ```c
void test3f(__complex__ float x, __complex__ float y, int i) {
  if (ccosf(x) != ccosf(-x))
    link_error();
  if (ccosf(ctanf(x)) != ccosf(ctanf(-x)))
    link_error();
  if (ctanf(x - y) != -ctanf(y - x))
    link_error();
  if (ccosf(x / y) != ccosf(-x / y))
    link_error();
  if (ccosf(x / y) != ccosf(x / -y))
    link_error();
  if (ccosf(x / ctanf(y)) != ccosf(-x / ctanf(-y)))
    link_error();
  if (ccosf(x * y) != ccosf(-x * y))
    link_error();
  if (ccosf(x * y) != ccosf(x * -y))
    link_error();
  if (ccosf(ctanf(x) * y) != ccosf(ctanf(-x) * -y))
    link_error();
  if (ccosf(ctanf(x / y)) != ccosf(-ctanf(x / -y)))
    link_error();
  if (ccosf(i ? x : y) != ccosf(i ? -x : y))
    link_error();
  if (ccosf(i ? x : y) != ccosf(i ? x : -y))
    link_error();
  if (ccosf(i ? x : ctanf(y / x)) != ccosf(i ? -x : -ctanf(-y / x)))
    link_error();
  if (~x != -~-x)
    link_error();
  if (ccosf(~x) != ccosf(-~-x))
    link_error();
  if (ctanf(~(x - y)) != -ctanf(~(y - x)))
    link_error();
  if (ctanf(~(x / y)) != -ctanf(~(x / -y)))
    link_error();
  if (cargf(x) != atan2f(__imag__ x, __real__ x))
    link_error();
}
```