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

```asm
<main>:
  endbr64
  push   %rbp
  pxor   %xmm2,%xmm2
  push   %rbx
  sub    $0xa8,%rsp
  movsd  D55(%rip),%xmm5
  movsd  D132(%rip),%xmm4
  movsd  %xmm5,0x40(%rsp)
  movsd  %xmm4,0x48(%rsp)
  movsd  0x40(%rsp),%xmm6
  movsd  0x48(%rsp),%xmm1
  mulsd  %xmm1,%xmm2
  movapd %xmm6,%xmm0
  movapd %xmm1,%xmm3
  addsd  %xmm6,%xmm0
  addsd  %xmm1,%xmm3
  subsd  %xmm2,%xmm0
  pxor   %xmm2,%xmm2
  mulsd  %xmm6,%xmm2
  addsd  %xmm3,%xmm2
  ucomisd %xmm2,%xmm0
  jp     L5
L89:
  movsd  %xmm0,0x40(%rsp)
  mov    $0x1,%ebx
  movsd  %xmm2,0x48(%rsp)
  movsd  0x40(%rsp),%xmm1
  ucomisd D59(%rip),%xmm1
  movsd  0x48(%rsp),%xmm0
  setp   %al
  cmovne %ebx,%eax
  test   %al,%al
  jne    1060 <main.cold>
  ucomisd D342(%rip),%xmm0
  setp   %al
  cmovne %ebx,%eax
  test   %al,%al
  jne    1060 <main.cold>
  mov    D15(%rip),%rax
  movsd  %xmm5,0x50(%rsp)
  pxor   %xmm3,%xmm3
  movsd  %xmm4,0x58(%rsp)
  movsd  0x50(%rsp),%xmm0
  movsd  0x58(%rsp),%xmm1
  movq   %rax,%xmm2
  call   <__divdc3>
  movsd  %xmm0,0x50(%rsp)
  movsd  %xmm1,0x58(%rsp)
  movsd  0x50(%rsp),%xmm1
  ucomisd D361(%rip),%xmm1
  movsd  0x58(%rsp),%xmm0
  setp   %al
  cmovne %ebx,%eax
  test   %al,%al
  jne    1060 <main.cold>
  ucomisd D15(%rip),%xmm0
  setp   %al
  cmovne %ebx,%eax
  test   %al,%al
  jne    1060 <main.cold>
  mov    D340(%rip),%rbx
  mov    %rbx,0x10(%rsp)
  mov    0x10(%rsp),%edx
  mov    0x14(%rsp),%eax
  add    %edx,%edx
  add    %eax,%eax
  mov    %edx,0x10(%rsp)
  mov    %eax,0x14(%rsp)
  mov    0x10(%rsp),%edx
  mov    0x14(%rsp),%eax
  cmp    $0x6,%edx
  jne    1060 <main.cold>
  cmp    $0x8,%eax
  jne    1060 <main.cold>
  mov    %rbx,0x18(%rsp)
  mov    0x18(%rsp),%eax
  mov    0x1c(%rsp),%ecx
  mov    %eax,%edx
  shr    $0x1f,%edx
  add    %eax,%edx
  mov    %ecx,%eax
  shr    $0x1f,%eax
  sar    %edx
  add    %ecx,%eax
  mov    %edx,0x18(%rsp)
  sar    %eax
  mov    %eax,0x1c(%rsp)
  mov    0x18(%rsp),%edx
  mov    0x1c(%rsp),%eax
  cmp    $0x1,%edx
  jne    1060 <main.cold>
  cmp    $0x2,%eax
  jne    1060 <main.cold>
  movsd  D55(%rip),%xmm5
  movsd  D132(%rip),%xmm4
  movsd  D126(%rip),%xmm3
  movsd  %xmm5,0x60(%rsp)
  movsd  %xmm4,0x68(%rsp)
  movsd  0x60(%rsp),%xmm6
  movsd  0x68(%rsp),%xmm1
  movapd %xmm1,%xmm2
  movapd %xmm6,%xmm0
  movapd %xmm1,%xmm7
  mulsd  %xmm3,%xmm2
  addsd  %xmm6,%xmm0
  addsd  %xmm1,%xmm7
  subsd  %xmm2,%xmm0
  movapd %xmm6,%xmm2
  mulsd  %xmm3,%xmm2
  addsd  %xmm7,%xmm2
  ucomisd %xmm2,%xmm0
  jp     L32
L19:
  movsd  %xmm0,0x60(%rsp)
  mov    $0x1,%ebp
  movsd  %xmm2,0x68(%rsp)
  movsd  0x60(%rsp),%xmm1
  ucomisd D121(%rip),%xmm1
  movsd  0x68(%rsp),%xmm0
  setp   %al
  cmovne %ebp,%eax
  test   %al,%al
  jne    1060 <main.cold>
  ucomisd D324(%rip),%xmm0
  setp   %al
  cmovne %ebp,%eax
  test   %al,%al
  jne    1060 <main.cold>
  movsd  %xmm5,0x70(%rsp)
  pxor   %xmm2,%xmm2
  movsd  %xmm4,0x78(%rsp)
  movsd  0x70(%rsp),%xmm0
  movsd  0x78(%rsp),%xmm1
  call   <__divdc3>
  movsd  %xmm0,0x70(%rsp)
  movsd  %xmm1,0x78(%rsp)
  movsd  0x70(%rsp),%xmm1
  ucomisd D214(%rip),%xmm1
  movsd  0x78(%rsp),%xmm0
  setp   %al
  cmovne %ebp,%eax
  test   %al,%al
  jne    1060 <main.cold>
  ucomisd D346(%rip),%xmm0
  setp   %al
  cmovne %ebp,%eax
  test   %al,%al
  jne    1060 <main.cold>
  mov    %rbx,0x20(%rsp)
  mov    0x20(%rsp),%ecx
  mov    0x24(%rsp),%edx
  lea    (%rcx,%rcx,1),%eax
  lea    (%rcx,%rcx,4),%ecx
  lea    (%rdx,%rdx,4),%esi
  lea    (%rcx,%rdx,2),%edx
  sub    %esi,%eax
  mov    %eax,0x20(%rsp)
  mov    %edx,0x24(%rsp)
  mov    0x20(%rsp),%edx
  mov    0x24(%rsp),%eax
  cmp    $0xfffffff2,%edx
  jne    1060 <main.cold>
  cmp    $0x17,%eax
  jne    1060 <main.cold>
  mov    D195(%rip),%rax
  mov    %rax,0x28(%rsp)
  mov    0x28(%rsp),%edx
  movslq 0x2c(%rsp),%rax
  mov    %rax,%rcx
  imul   $0x66666667,%rax,%rax
  sar    $0x1f,%ecx
  sar    $0x21,%rax
  sub    %ecx,%eax
  movslq %edx,%rcx
  sar    $0x1f,%edx
  imul   $0x66666667,%rcx,%rcx
  mov    %eax,0x28(%rsp)
  sar    $0x21,%rcx
  sub    %ecx,%edx
  mov    %edx,0x2c(%rsp)
  mov    0x28(%rsp),%edx
  mov    0x2c(%rsp),%eax
  cmp    $0x8,%edx
  jne    1060 <main.cold>
  cmp    $0xfffffffa,%eax
  jne    1060 <main.cold>
  mov    D345(%rip),%rax
  mov    %rax,0x30(%rsp)
  movslq 0x30(%rsp),%rdx
  mov    0x34(%rsp),%ecx
  mov    %rdx,%rax
  imul   $0xffffffff92492493,%rdx,%rdx
  shr    $0x20,%rdx
  add    %eax,%edx
  sar    $0x1f,%eax
  sar    $0x2,%edx
  sub    %eax,%edx
  movslq %ecx,%rax
  imul   $0xffffffff92492493,%rax,%rax
  mov    %edx,0x30(%rsp)
  shr    $0x20,%rax
  add    %ecx,%eax
  sar    $0x1f,%ecx
  sar    $0x2,%eax
  sub    %ecx,%eax
  mov    %eax,0x34(%rsp)
  mov    0x30(%rsp),%edx
  mov    0x34(%rsp),%eax
  cmp    $0x2,%edx
  jne    1060 <main.cold>
  test   %eax,%eax
  jne    1060 <main.cold>
  mov    D280(%rip),%rax
  mov    %rax,0x38(%rsp)
  mov    0x38(%rsp),%ecx
  movslq 0x3c(%rsp),%rdx
  neg    %ecx
  mov    %rdx,%rax
  imul   $0x2aaaaaab,%rdx,%rdx
  sar    $0x1f,%eax
  sar    $0x21,%rdx
  sub    %eax,%edx
  movslq %ecx,%rax
  sar    $0x1f,%ecx
  imul   $0x2aaaaaab,%rax,%rax
  mov    %edx,0x38(%rsp)
  sar    $0x21,%rax
  sub    %ecx,%eax
  mov    %eax,0x3c(%rsp)
  mov    0x38(%rsp),%edx
  mov    0x3c(%rsp),%eax
  cmp    $0x2,%edx
  jne    1060 <main.cold>
  test   %eax,%eax
  jne    1060 <main.cold>
  movsd  D315(%rip),%xmm0
  movsd  D38(%rip),%xmm2
  movsd  %xmm0,0x80(%rsp)
  movapd %xmm2,%xmm3
  movsd  D337(%rip),%xmm0
  movsd  %xmm0,0x88(%rsp)
  movsd  0x80(%rsp),%xmm0
  movsd  0x88(%rsp),%xmm1
  call   <__divdc3>
  mov    $0x1,%edx
  movsd  %xmm0,0x80(%rsp)
  movsd  %xmm1,0x88(%rsp)
  movsd  0x80(%rsp),%xmm0
  ucomisd D15(%rip),%xmm0
  movsd  0x88(%rsp),%xmm1
  setp   %al
  cmovne %edx,%eax
  test   %al,%al
  jne    1060 <main.cold>
  pxor   %xmm7,%xmm7
  ucomisd %xmm7,%xmm1
  setp   %al
  cmovne %edx,%eax
  test   %al,%al
  jne    1060 <main.cold>
  movsd  D296(%rip),%xmm0
  movapd %xmm7,%xmm4
  mulsd  %xmm0,%xmm4
  ucomisd %xmm0,%xmm4
  jp     L44
  movapd %xmm0,%xmm6
L48:
  movapd %xmm4,%xmm2
  mulsd  %xmm4,%xmm2
  subsd  %xmm0,%xmm2
  movapd %xmm4,%xmm0
  mulsd  %xmm6,%xmm0
  addsd  %xmm0,%xmm0
  ucomisd %xmm0,%xmm2
  jp     L103
L76:
  movq   D136(%rip),%xmm5
  movsd  D303(%rip),%xmm7
  andpd  %xmm5,%xmm2
  ucomisd %xmm7,%xmm2
  ja     L36
  andpd  %xmm5,%xmm0
  ucomisd %xmm7,%xmm0
  jbe    1060 <main.cold>
L36:
  pxor   %xmm3,%xmm3
  movsd  D116(%rip),%xmm0
  movsd  %xmm6,0x8(%rsp)
  movapd %xmm3,%xmm2
  movapd %xmm3,%xmm1
  movsd  %xmm4,(%rsp)
  call   <__divdc3>
  movsd  (%rsp),%xmm4
  movq   D136(%rip),%xmm5
  mov    D303(%rip),%rax
  movsd  0x8(%rsp),%xmm6
  andpd  %xmm5,%xmm0
  movq   %rax,%xmm7
  ucomisd %xmm7,%xmm0
  ja     L93
  andpd  %xmm5,%xmm1
  ucomisd %xmm7,%xmm1
  jbe    1060 <main.cold>
L93:
  movapd %xmm4,%xmm0
  andpd  %xmm5,%xmm0
  ucomisd %xmm7,%xmm0
  ja     L31
  andpd  %xmm6,%xmm5
  ucomisd %xmm7,%xmm5
  jbe    1060 <main.cold>
L31:
  movsd  D58(%rip),%xmm0
  movapd %xmm6,%xmm3
  movapd %xmm4,%xmm2
  movsd  %xmm0,0x90(%rsp)
  movsd  D49(%rip),%xmm0
  movsd  %xmm0,0x98(%rsp)
  movsd  0x90(%rsp),%xmm0
  movsd  0x98(%rsp),%xmm1
  call   <__divdc3>
  pxor   %xmm6,%xmm6
  mov    $0x1,%edx
  movsd  %xmm0,0x90(%rsp)
  movsd  %xmm1,0x98(%rsp)
  movsd  0x90(%rsp),%xmm1
  movsd  0x98(%rsp),%xmm0
  ucomisd %xmm6,%xmm1
  setp   %al
  cmovne %edx,%eax
  test   %al,%al
  jne    1060 <main.cold>
  ucomisd %xmm6,%xmm0
  setp   %al
  cmovne %edx,%eax
  test   %al,%al
  jne    1060 <main.cold>
  add    $0xa8,%rsp
  xor    %eax,%eax
  pop    %rbx
  pop    %rbp
  ret
L5:
  movsd  D15(%rip),%xmm2
  pxor   %xmm3,%xmm3
  movapd %xmm6,%xmm0
  call   <__muldc3>
  movsd  D55(%rip),%xmm5
  movsd  D132(%rip),%xmm4
  movapd %xmm1,%xmm2
  jmp    L89
L103:
  movapd %xmm4,%xmm0
  movapd %xmm4,%xmm2
  movapd %xmm6,%xmm1
  movsd  %xmm6,0x8(%rsp)
  movapd %xmm6,%xmm3
  movsd  %xmm4,(%rsp)
  call   <__muldc3>
  movsd  0x8(%rsp),%xmm6
  movsd  (%rsp),%xmm4
  movapd %xmm0,%xmm2
  movapd %xmm1,%xmm0
  jmp    L76
L44:
  pxor   %xmm2,%xmm2
  movsd  D116(%rip),%xmm3
  movapd %xmm2,%xmm1
  call   <__muldc3>
  movapd %xmm0,%xmm4
  movapd %xmm1,%xmm0
  movapd %xmm1,%xmm6
  mulsd  %xmm1,%xmm0
  jmp    L48
L32:
  mov    D15(%rip),%rax
  movapd %xmm6,%xmm0
  movq   %rax,%xmm2
  call   <__muldc3>
  mov    D126(%rip),%rax
  movsd  D55(%rip),%xmm5
  movsd  D132(%rip),%xmm4
  movapd %xmm1,%xmm2
  movq   %rax,%xmm3
  jmp    L19
```

tool_calls: name: unpack_data
arguments: tag: D55
type_infered: f64
name: unpack_data
arguments: tag: D132
type_infered: f64
name: unpack_data
arguments: tag: D59
type_infered: byte[8]
name: unpack_data
arguments: tag: D342
type_infered: byte[8]
name: unpack_data
arguments: tag: D15
type_infered: byte[8]
name: unpack_data
arguments: tag: D361
type_infered: f64
name: unpack_data
arguments: tag: D340
type_infered: byte[8]
name: unpack_data
arguments: tag: D126
type_infered: byte[8]
name: unpack_data
arguments: tag: D121
type_infered: byte[8]
name: unpack_data
arguments: tag: D324
type_infered: byte[8]
name: unpack_data
arguments: tag: D214
type_infered: byte[8]
name: unpack_data
arguments: tag: D346
type_infered: byte[8]
name: unpack_data
arguments: tag: D195
type_infered: byte[8]
name: unpack_data
arguments: tag: D345
type_infered: byte[8]
name: unpack_data
arguments: tag: D280
type_infered: byte[8]
name: unpack_data
arguments: tag: D315
type_infered: byte[8]
name: unpack_data
arguments: tag: D38
type_infered: byte[8]
name: unpack_data
arguments: tag: D337
type_infered: byte[8]
name: unpack_data
arguments: tag: D296
type_infered: byte[8]
name: unpack_data
arguments: tag: D136
type_infered: byte[8]
name: unpack_data
arguments: tag: D303
type_infered: byte[8]
name: unpack_data
arguments: tag: D116
type_infered: byte[8]
name: unpack_data
arguments: tag: D58
type_infered: byte[8]
name: unpack_data
arguments: tag: D49
type_infered: byte[8]

tool: D55: 3

tool: D132: 4

tool: {"D59": [0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x40]}

tool: {"D342": [0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x40]}

tool: {"D15": [0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40]}

tool: D361: 1.5

tool: {"D340": [0x03,0x00,0x00,0x00,0x04,0x00,0x00,0x00]}

tool: {"D126": [0x00,0x00,0x00,0x00,0x00,0x00,0x14,0x40]}

tool: {"D121": [0x00,0x00,0x00,0x00,0x00,0x00,0x2c,0xc0]}

tool: {"D324": [0x00,0x00,0x00,0x00,0x00,0x00,0x37,0x40]}

tool: {"D214": [0x9a,0x99,0x99,0x99,0x99,0x99,0xe9,0x3f]}

tool: {"D346": [0x33,0x33,0x33,0x33,0x33,0x33,0xe3,0xbf]}

tool: {"D195": [0x1e,0x00,0x00,0x00,0x28,0x00,0x00,0x00]}

tool: {"D345": [0x0e,0x00,0x00,0x00,0x06,0x00,0x00,0x00]}

tool: {"D280": [0x08,0x00,0x00,0x00,0x18,0x00,0x00,0x00]}

tool: {"D315": [0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x7f]}

tool: {"D38": [0xff,0xff,0xff,0xff,0xff,0xff,0xcf,0x7f]}

tool: {"D337": [0xff,0xff,0xff,0xff,0xff,0xff,0xdf,0x7f]}

tool: {"D296": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x7f]}

tool: {"D136": [0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f]}

tool: {"D303": [0xff,0xff,0xff,0xff,0xff,0xff,0xef,0x7f]}

tool: {"D116": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3f]}

tool: {"D58": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3f]}

tool: {"D49": [0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00]}

assistant: ```c
int main() {
  do {
    do {
      static const _Complex double foo = (_Complex double)(3. + 4.i) * (_Complex double)(2);
      if (foo != (_Complex double)(6 + 8i))
        __builtin_abort();
    } while (0);
    do {
      if ((_Complex double)(3. + 4.i) * (_Complex double)(2) != (_Complex double)(6 + 8i))
        link_error(64);
    } while (0);
    do {
      volatile _Complex double foo;
      foo = (_Complex double)(3. + 4.i);
      foo *= (_Complex double)(2);
      if (foo != (_Complex double)(6 + 8i))
        __builtin_abort();
    } while (0);
  } while (0);
  do {
    do {
      static const _Complex double foo = (_Complex double)(3. + 4.i) / (_Complex double)(2);
      if (foo != (_Complex double)(1.5 + 2i))
        __builtin_abort();
    } while (0);
    do {
      if ((_Complex double)(3. + 4.i) / (_Complex double)(2) != (_Complex double)(1.5 + 2i))
        link_error(65);
    } while (0);
    do {
      volatile _Complex double foo;
      foo = (_Complex double)(3. + 4.i);
      foo /= (_Complex double)(2);
      if (foo != (_Complex double)(1.5 + 2i))
        __builtin_abort();
    } while (0);
  } while (0);
  do {
    do {
      static const _Complex int foo = (_Complex int)(3 + 4i) * (_Complex int)(2);
      if (foo != (_Complex int)(6 + 8i))
        __builtin_abort();
    } while (0);
    do {
      if ((_Complex int)(3 + 4i) * (_Complex int)(2) != (_Complex int)(6 + 8i))
        link_error(66);
    } while (0);
    do {
      volatile _Complex int foo;
      foo = (_Complex int)(3 + 4i);
      foo *= (_Complex int)(2);
      if (foo != (_Complex int)(6 + 8i))
        __builtin_abort();
    } while (0);
  } while (0);
  do {
    do {
      static const _Complex int foo = (_Complex int)(3 + 4i) / (_Complex int)(2);
      if (foo != (_Complex int)(1 + 2i))
        __builtin_abort();
    } while (0);
    do {
      if ((_Complex int)(3 + 4i) / (_Complex int)(2) != (_Complex int)(1 + 2i))
        link_error(67);
    } while (0);
    do {
      volatile _Complex int foo;
      foo = (_Complex int)(3 + 4i);
      foo /= (_Complex int)(2);
      if (foo != (_Complex int)(1 + 2i))
        __builtin_abort();
    } while (0);
  } while (0);
  do {
    do {
      static const _Complex double foo = (_Complex double)(3. + 4.i) * (_Complex double)(2 + 5i);
      if (foo != (_Complex double)(-14 + 23i))
        __builtin_abort();
    } while (0);
    do {
      if ((_Complex double)(3. + 4.i) * (_Complex double)(2 + 5i) != (_Complex double)(-14 + 23i))
        link_error(69);
    } while (0);
    do {
      volatile _Complex double foo;
      foo = (_Complex double)(3. + 4.i);
      foo *= (_Complex double)(2 + 5i);
      if (foo != (_Complex double)(-14 + 23i))
        __builtin_abort();
    } while (0);
  } while (0);
  do {
    do {
      static const _Complex double foo = (_Complex double)(3. + 4.i) / (_Complex double)(5i);
      if (foo != (_Complex double)(.8 - .6i))
        __builtin_abort();
    } while (0);
    do {
      if ((_Complex double)(3. + 4.i) / (_Complex double)(5i) != (_Complex double)(.8 - .6i))
        link_error(70);
    } while (0);
    do {
      volatile _Complex double foo;
      foo = (_Complex double)(3. + 4.i);
      foo /= (_Complex double)(5i);
      if (foo != (_Complex double)(.8 - .6i))
        __builtin_abort();
    } while (0);
  } while (0);
  do {
    do {
      static const _Complex int foo = (_Complex int)(3 + 4i) * (_Complex int)(2 + 5i);
      if (foo != (_Complex int)(-14 + 23i))
        __builtin_abort();
    } while (0);
    do {
      if ((_Complex int)(3 + 4i) * (_Complex int)(2 + 5i) != (_Complex int)(-14 + 23i))
        link_error(71);
    } while (0);
    do {
      volatile _Complex int foo;
      foo = (_Complex int)(3 + 4i);
      foo *= (_Complex int)(2 + 5i);
      if (foo != (_Complex int)(-14 + 23i))
        __builtin_abort();
    } while (0);
  } while (0);
  do {
    do {
      static const _Complex int foo = (_Complex int)(30 + 40i) / (_Complex int)(5i);
      if (foo != (_Complex int)(8 - 6i))
        __builtin_abort();
    } while (0);
    do {
      if ((_Complex int)(30 + 40i) / (_Complex int)(5i) != (_Complex int)(8 - 6i))
        link_error(72);
    } while (0);
    do {
      volatile _Complex int foo;
      foo = (_Complex int)(30 + 40i);
      foo /= (_Complex int)(5i);
      if (foo != (_Complex int)(8 - 6i))
        __builtin_abort();
    } while (0);
  } while (0);
  do {
    do {
      static const _Complex int foo = (_Complex int)(14 + 6i) / (_Complex int)(7 + 3i);
      if (foo != (_Complex int)(2))
        __builtin_abort();
    } while (0);
    do {
      if ((_Complex int)(14 + 6i) / (_Complex int)(7 + 3i) != (_Complex int)(2))
        link_error(73);
    } while (0);
    do {
      volatile _Complex int foo;
      foo = (_Complex int)(14 + 6i);
      foo /= (_Complex int)(7 + 3i);
      if (foo != (_Complex int)(2))
        __builtin_abort();
    } while (0);
  } while (0);
  do {
    do {
      static const _Complex int foo = (_Complex int)(8 + 24i) / (_Complex int)(4 + 12i);
      if (foo != (_Complex int)(2))
        __builtin_abort();
    } while (0);
    do {
      if ((_Complex int)(8 + 24i) / (_Complex int)(4 + 12i) != (_Complex int)(2))
        link_error(74);
    } while (0);
    do {
      volatile _Complex int foo;
      foo = (_Complex int)(8 + 24i);
      foo /= (_Complex int)(4 + 12i);
      if (foo != (_Complex int)(2))
        __builtin_abort();
    } while (0);
  } while (0);
  do {
    do {
      static const _Complex double foo = (_Complex double)((((double)1.79769313486231570814527423731704357e+308L) * 0.5 + ((double)1.79769313486231570814527423731704357e+308L) * 0.5i)) / (_Complex double)((((double)1.79769313486231570814527423731704357e+308L) * 0.25 + ((double)1.79769313486231570814527423731704357e+308L) * 0.25i));
      if (foo != (_Complex double)(2))
        __builtin_abort();
    } while (0);
    do {
      if ((_Complex double)((((double)1.79769313486231570814527423731704357e+308L) * 0.5 + ((double)1.79769313486231570814527423731704357e+308L) * 0.5i)) / (_Complex double)((((double)1.79769313486231570814527423731704357e+308L) * 0.25 + ((double)1.79769313486231570814527423731704357e+308L) * 0.25i)) != (_Complex double)(2))
        link_error(77);
    } while (0);
    do {
      volatile _Complex double foo;
      foo = (_Complex double)((((double)1.79769313486231570814527423731704357e+308L) * 0.5 + ((double)1.79769313486231570814527423731704357e+308L) * 0.5i));
      foo /= (_Complex double)((((double)1.79769313486231570814527423731704357e+308L) * 0.25 + ((double)1.79769313486231570814527423731704357e+308L) * 0.25i));
      if (foo != (_Complex double)(2))
        __builtin_abort();
    } while (0);
  } while (0);
  do {
    if ((_Complex double)((1 + ((double)2.22044604925031308084726333618164062e-16L) + 1i)) * (_Complex double)((1 - ((double)2.22044604925031308084726333618164062e-16L) + 1i)) != (_Complex double)(-4.93038065763132378382330353301741393545754021943139377981e-32 + 2i))
      link_error(84);
  } while (0);
  do {
    static const _Complex double foo = ((((_Complex double)__builtin_inf() * 1i)) * (((_Complex double)__builtin_inf() * 1i)));
    if (!__builtin_isinf(__real foo) && !__builtin_isinf(__imag foo))
      __builtin_abort();
    if (!__builtin_isinf(__real((((_Complex double)__builtin_inf() * 1i)) * (((_Complex double)__builtin_inf() * 1i)))) && !__builtin_isinf(__imag((((_Complex double)__builtin_inf() * 1i)) * (((_Complex double)__builtin_inf() * 1i)))))
      __builtin_abort();
  } while (0);
  do {
    static const _Complex double foo = ((_Complex double)1 / (_Complex double)0);
    if (!__builtin_isinf(__real foo) && !__builtin_isinf(__imag foo))
      __builtin_abort();
    if (!__builtin_isinf(__real((_Complex double)1 / (_Complex double)0)) && !__builtin_isinf(__imag((_Complex double)1 / (_Complex double)0)))
      __builtin_abort();
  } while (0);
  do {
    static const _Complex double foo = ((((_Complex double)__builtin_inf() * 1i)) / (_Complex double)1);
    if (!__builtin_isinf(__real foo) && !__builtin_isinf(__imag foo))
      __builtin_abort();
    if (!__builtin_isinf(__real((((_Complex double)__builtin_inf() * 1i)) / (_Complex double)1)) && !__builtin_isinf(__imag((((_Complex double)__builtin_inf() * 1i)) / (_Complex double)1)))
      __builtin_abort();
  } while (0);
  do {
    volatile _Complex double foo;
    foo = (_Complex double)(1);
    foo /= (_Complex double)(((_Complex double)__builtin_inf() * 1i));
    if (foo != (_Complex double)(0))
      __builtin_abort();
  } while (0);
  do {
    static const _Complex double foo = (_Complex double)(1) / (_Complex double)(((_Complex double)__builtin_inf() * 1i));
    if (foo != (_Complex double)(0))
      __builtin_abort();
  } while (0);
  return 0;
}
```