user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<round_64>:
  endbr64
  movabs $0x2386f26fc10000,%rax
  push   %rbx
  movabs $0x31e38d7ea4c68000,%rbx
  sub    $0x40,%rsp
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    %rax,0x38(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x10(%rsp)
  mov    0x38(%rsp),%rdi
  call   <__bid_floatunsdidd@plt>
  movq   %xmm0,0x18(%rsp)
  mov    %rbx,0x20(%rsp)
  mov    %rbx,0x28(%rsp)
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x18(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x20(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x28(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0x2386f26fc10001,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    %rax,0x38(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x10(%rsp)
  mov    0x38(%rsp),%rdi
  call   <__bid_floatunsdidd@plt>
  movq   %xmm0,0x18(%rsp)
  mov    %rbx,0x20(%rsp)
  mov    %rbx,0x28(%rsp)
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x18(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x20(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x28(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0x2386f26fc10002,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    %rax,0x38(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x10(%rsp)
  mov    0x38(%rsp),%rdi
  call   <__bid_floatunsdidd@plt>
  movq   %xmm0,0x18(%rsp)
  mov    %rbx,0x20(%rsp)
  mov    %rbx,0x28(%rsp)
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x18(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x20(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x28(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0x2386f26fc10003,%rax
  movabs $0x31e38d7ea4c68000,%rbx
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    %rax,0x38(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x10(%rsp)
  mov    0x38(%rsp),%rdi
  call   <__bid_floatunsdidd@plt>
  movq   %xmm0,0x18(%rsp)
  mov    %rbx,0x20(%rsp)
  mov    %rbx,0x28(%rsp)
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x18(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x20(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x28(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0x2386f26fc10004,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    %rax,0x38(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x10(%rsp)
  mov    0x38(%rsp),%rdi
  call   <__bid_floatunsdidd@plt>
  movq   %xmm0,0x18(%rsp)
  mov    %rbx,0x20(%rsp)
  mov    %rbx,0x28(%rsp)
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x18(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x20(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x28(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0x16345785d8a0031,%rax
  movabs $0x32038d7ea4c68000,%rbx
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    %rax,0x38(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x10(%rsp)
  mov    0x38(%rsp),%rdi
  call   <__bid_floatunsdidd@plt>
  movq   %xmm0,0x18(%rsp)
  mov    %rbx,0x20(%rsp)
  mov    %rbx,0x28(%rsp)
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x18(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x20(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x28(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0x16345785d8a0033,%rax
  add    $0x1,%rbx
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    %rax,0x38(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x10(%rsp)
  mov    0x38(%rsp),%rdi
  call   <__bid_floatunsdidd@plt>
  movq   %xmm0,0x18(%rsp)
  mov    %rbx,0x20(%rsp)
  mov    %rbx,0x28(%rsp)
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x18(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x20(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x28(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0x2386f26fc10006,%rax
  movabs $0x31e38d7ea4c68001,%rbx
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    %rax,0x38(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x10(%rsp)
  mov    0x38(%rsp),%rdi
  call   <__bid_floatunsdidd@plt>
  movq   %xmm0,0x18(%rsp)
  mov    %rbx,0x20(%rsp)
  mov    %rbx,0x28(%rsp)
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x18(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x20(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x28(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0x2386f26fc10007,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    %rax,0x38(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x10(%rsp)
  mov    0x38(%rsp),%rdi
  call   <__bid_floatunsdidd@plt>
  movq   %xmm0,0x18(%rsp)
  mov    %rbx,0x20(%rsp)
  mov    %rbx,0x28(%rsp)
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x18(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x20(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x28(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0x2386f26fc10008,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    %rax,0x38(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x10(%rsp)
  mov    0x38(%rsp),%rdi
  call   <__bid_floatunsdidd@plt>
  movq   %xmm0,0x18(%rsp)
  mov    %rbx,0x20(%rsp)
  mov    %rbx,0x28(%rsp)
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x18(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x20(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x28(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0x2386f26fc10009,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    %rax,0x38(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x10(%rsp)
  mov    0x38(%rsp),%rdi
  call   <__bid_floatunsdidd@plt>
  movq   %xmm0,0x18(%rsp)
  mov    %rbx,0x20(%rsp)
  mov    %rbx,0x28(%rsp)
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x18(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x20(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x28(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0x2386f26fc1000a,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    %rax,0x38(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x10(%rsp)
  mov    0x38(%rsp),%rdi
  call   <__bid_floatunsdidd@plt>
  movq   %xmm0,0x18(%rsp)
  mov    %rbx,0x20(%rsp)
  mov    %rbx,0x28(%rsp)
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x18(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x20(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    0x28(%rsp),%rdx
  mov    0x18(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0xffdc790d903f0000,%rax
  movabs $0xb1e38d7ea4c68000,%rbx
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x8(%rsp)
  mov    %rbx,0x10(%rsp)
  mov    (%rsp),%rdx
  mov    0x8(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0xffdc790d903effff,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x8(%rsp)
  mov    %rbx,0x10(%rsp)
  mov    (%rsp),%rdx
  mov    0x8(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0xffdc790d903efffe,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x8(%rsp)
  mov    %rbx,0x10(%rsp)
  mov    (%rsp),%rdx
  mov    0x8(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0xffdc790d903efffd,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x8(%rsp)
  mov    %rbx,0x10(%rsp)
  mov    (%rsp),%rdx
  mov    0x8(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0xffdc790d903efffc,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x8(%rsp)
  mov    %rbx,0x10(%rsp)
  mov    (%rsp),%rdx
  mov    0x8(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0xfe9cba87a275ffcf,%rax
  movabs $0xb2038d7ea4c68000,%rbx
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x8(%rsp)
  mov    %rbx,0x10(%rsp)
  mov    (%rsp),%rdx
  mov    0x8(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0xfe9cba87a275ffcd,%rax
  add    $0x1,%rbx
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x8(%rsp)
  mov    %rbx,0x10(%rsp)
  mov    (%rsp),%rdx
  mov    0x8(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0xffdc790d903efffa,%rax
  movabs $0xb1e38d7ea4c68001,%rbx
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x8(%rsp)
  mov    %rbx,0x10(%rsp)
  mov    (%rsp),%rdx
  mov    0x8(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0xffdc790d903efff9,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x8(%rsp)
  mov    %rbx,0x10(%rsp)
  mov    (%rsp),%rdx
  mov    0x8(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0xffdc790d903efff8,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x8(%rsp)
  mov    %rbx,0x10(%rsp)
  mov    (%rsp),%rdx
  mov    0x8(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0xffdc790d903efff7,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x8(%rsp)
  mov    %rbx,0x10(%rsp)
  mov    (%rsp),%rdx
  mov    0x8(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  movabs $0xffdc790d903efff6,%rax
  mov    %rbx,(%rsp)
  mov    %rax,0x30(%rsp)
  mov    0x30(%rsp),%rdi
  call   <__bid_floatdidd@plt>
  movq   %xmm0,0x8(%rsp)
  mov    %rbx,0x10(%rsp)
  mov    (%rsp),%rdx
  mov    0x8(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  mov    (%rsp),%rdx
  mov    0x10(%rsp),%rax
  cmp    %rax,%rdx
  jne    2140 <round_64.cold>
  add    $0x40,%rsp
  pop    %rbx
  ret
```

assistant: ```c
void round_64(void) {
  volatile _Decimal64 x, a, b, c, d, e, f, g, h;
  volatile int si;
  volatile unsigned int ui;
  volatile long long sll;
  volatile unsigned long long ull;
  x = 10000000000000000.DD;
  sll = 10000000000000000LL;
  ull = 10000000000000000ULL;
  b = sll;
  d = ull;
  f = 10000000000000000LL;
  g = 10000000000000000ULL;
  if ((__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&d, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&f, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&g, (void *)&d, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = 10000000000000001.DD;
  sll = 10000000000000001LL;
  ull = 10000000000000001ULL;
  b = sll;
  d = ull;
  f = 10000000000000001LL;
  g = 10000000000000001ULL;
  if ((__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&d, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&f, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&g, (void *)&d, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = 10000000000000002.DD;
  sll = 10000000000000002LL;
  ull = 10000000000000002ULL;
  b = sll;
  d = ull;
  f = 10000000000000002LL;
  g = 10000000000000002ULL;
  if ((__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&d, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&f, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&g, (void *)&d, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = 10000000000000003.DD;
  sll = 10000000000000003LL;
  ull = 10000000000000003ULL;
  b = sll;
  d = ull;
  f = 10000000000000003LL;
  g = 10000000000000003ULL;
  if ((__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&d, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&f, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&g, (void *)&d, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = 10000000000000004.DD;
  sll = 10000000000000004LL;
  ull = 10000000000000004ULL;
  b = sll;
  d = ull;
  f = 10000000000000004LL;
  g = 10000000000000004ULL;
  if ((__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&d, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&f, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&g, (void *)&d, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = 100000000000000049.DD;
  sll = 100000000000000049LL;
  ull = 100000000000000049ULL;
  b = sll;
  d = ull;
  f = 100000000000000049LL;
  g = 100000000000000049ULL;
  if ((__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&d, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&f, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&g, (void *)&d, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = 100000000000000051.DD;
  sll = 100000000000000051LL;
  ull = 100000000000000051ULL;
  b = sll;
  d = ull;
  f = 100000000000000051LL;
  g = 100000000000000051ULL;
  if ((__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&d, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&f, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&g, (void *)&d, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = 10000000000000006.DD;
  sll = 10000000000000006LL;
  ull = 10000000000000006ULL;
  b = sll;
  d = ull;
  f = 10000000000000006LL;
  g = 10000000000000006ULL;
  if ((__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&d, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&f, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&g, (void *)&d, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = 10000000000000007.DD;
  sll = 10000000000000007LL;
  ull = 10000000000000007ULL;
  b = sll;
  d = ull;
  f = 10000000000000007LL;
  g = 10000000000000007ULL;
  if ((__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&d, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&f, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&g, (void *)&d, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = 10000000000000008.DD;
  sll = 10000000000000008LL;
  ull = 10000000000000008ULL;
  b = sll;
  d = ull;
  f = 10000000000000008LL;
  g = 10000000000000008ULL;
  if ((__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&d, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&f, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&g, (void *)&d, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = 10000000000000009.DD;
  sll = 10000000000000009LL;
  ull = 10000000000000009ULL;
  b = sll;
  d = ull;
  f = 10000000000000009LL;
  g = 10000000000000009ULL;
  if ((__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&d, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&f, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&g, (void *)&d, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = 10000000000000010.DD;
  sll = 10000000000000010LL;
  ull = 10000000000000010ULL;
  b = sll;
  d = ull;
  f = 10000000000000010LL;
  g = 10000000000000010ULL;
  if ((__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&d, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&f, (void *)&d, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&g, (void *)&d, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = -10000000000000000.DD;
  sll = -10000000000000000LL;
  a = sll;
  b = -10000000000000000LL;
  if ((__builtin_memcmp((void *)&x, (void *)&a, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = -10000000000000001.DD;
  sll = -10000000000000001LL;
  a = sll;
  b = -10000000000000001LL;
  if ((__builtin_memcmp((void *)&x, (void *)&a, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = -10000000000000002.DD;
  sll = -10000000000000002LL;
  a = sll;
  b = -10000000000000002LL;
  if ((__builtin_memcmp((void *)&x, (void *)&a, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = -10000000000000003.DD;
  sll = -10000000000000003LL;
  a = sll;
  b = -10000000000000003LL;
  if ((__builtin_memcmp((void *)&x, (void *)&a, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = -10000000000000004.DD;
  sll = -10000000000000004LL;
  a = sll;
  b = -10000000000000004LL;
  if ((__builtin_memcmp((void *)&x, (void *)&a, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = -100000000000000049.DD;
  sll = -100000000000000049LL;
  a = sll;
  b = -100000000000000049LL;
  if ((__builtin_memcmp((void *)&x, (void *)&a, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = -100000000000000051.DD;
  sll = -100000000000000051LL;
  a = sll;
  b = -100000000000000051LL;
  if ((__builtin_memcmp((void *)&x, (void *)&a, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = -10000000000000006.DD;
  sll = -10000000000000006LL;
  a = sll;
  b = -10000000000000006LL;
  if ((__builtin_memcmp((void *)&x, (void *)&a, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = -10000000000000007.DD;
  sll = -10000000000000007LL;
  a = sll;
  b = -10000000000000007LL;
  if ((__builtin_memcmp((void *)&x, (void *)&a, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = -10000000000000008.DD;
  sll = -10000000000000008LL;
  a = sll;
  b = -10000000000000008LL;
  if ((__builtin_memcmp((void *)&x, (void *)&a, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = -10000000000000009.DD;
  sll = -10000000000000009LL;
  a = sll;
  b = -10000000000000009LL;
  if ((__builtin_memcmp((void *)&x, (void *)&a, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
  x = -10000000000000010.DD;
  sll = -10000000000000010LL;
  a = sll;
  b = -10000000000000010LL;
  if ((__builtin_memcmp((void *)&x, (void *)&a, sizeof(_Decimal64)) != 0) || (__builtin_memcmp((void *)&x, (void *)&b, sizeof(_Decimal64)) != 0))
    __builtin_abort();
  ;
}
```