user: 请将这段汇编代码片段转换成等效的C代码:

```asm
<compare_ushort>:
  endbr64
  test   %rsi,%rsi
  je     L55
  test   %rdx,%rdx
  je     L55
  movzwl (%rsi),%esi
  movzwl (%rdx),%ecx
  movzwl %si,%edx
  movzwl %cx,%eax
  sub    %rax,%rdx
  test   %rdx,%rdx
  jle    L21
  cmp    %cx,%si
  ja     L13
L44:
  cmp    %cx,%si
  sbb    %eax,%eax
  ret
L55:
  sub    $0x8,%rsp
  mov    $0x0,%eax
  call   <ordering_err_2@plt>
  add    $0x8,%rsp
  ret
L21:
  shr    $0x3f,%rdx
  mov    $0x1,%eax
  cmp    %cx,%si
  jbe    L1
L25:
  ret
L1:
  setb   %al
  cmp    %dl,%al
  jne    L44
  cmp    %cx,%si
  ja     L66
  mov    %eax,%edi
  sbb    %eax,%eax
  cmp    %dl,%dil
  jne    L25
L13:
  movzwl %si,%eax
  movzwl %cx,%ecx
  sub    %ecx,%eax
  ret
L66:
  mov    $0x1,%eax
  ret
```

assistant: ```c
int compare_ushort(void *context, const unsigned short *check, const unsigned short *baseline) {
  if (!check || !baseline)
    return ordering_err_2();
  return (((((((((((((((((((signed long)(*check)) - ((signed long)(*baseline))))) <= (((0)))) ? (((((((signed long)(*check)) - ((signed long)(*baseline))))) < (((0)))) ? ((-1)) : ((0))) : ((1))))) == ((((((((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1)))))))) <= (((0)))) ? ((((((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1)))))))) < (((0)))) ? ((-1)) : ((0))) : ((1)))))) ? ((((signed long)(*check)) - ((signed long)(*baseline)))) : (((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1))))))))))) != (((int)-(((int)0x37ED) << (8 * (((!!(((!!(sizeof(int))) * ((sizeof(int)) - 1)))) * ((((!!(sizeof(int))) * ((sizeof(int)) - 1))) - 1)))))))) && (((((((((((((((signed long)(*check)) - ((signed long)(*baseline))))) <= (((0)))) ? (((((((signed long)(*check)) - ((signed long)(*baseline))))) < (((0)))) ? ((-1)) : ((0))) : ((1))))) == ((((((((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1)))))))) <= (((0)))) ? ((((((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1)))))))) < (((0)))) ? ((-1)) : ((0))) : ((1)))))) ? ((((signed long)(*check)) - ((signed long)(*baseline)))) : (((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1))))))))))) != (((int)-(((int)0x37EE) << (8 * (((!!(((!!(sizeof(int))) * ((sizeof(int)) - 1)))) * ((((!!(sizeof(int))) * ((sizeof(int)) - 1))) - 1)))))))))) ? (((((((((((((signed long)(*check)) - ((signed long)(*baseline))))) <= (((0)))) ? (((((((signed long)(*check)) - ((signed long)(*baseline))))) < (((0)))) ? ((-1)) : ((0))) : ((1))))) == ((((((((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1)))))))) <= (((0)))) ? ((((((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1)))))))) < (((0)))) ? ((-1)) : ((0))) : ((1)))))) ? ((((signed long)(*check)) - ((signed long)(*baseline)))) : (((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1)))))))))) : ((((((((((((((((((signed long)(*check)) - ((signed long)(*baseline))))) <= (((0)))) ? (((((((signed long)(*check)) - ((signed long)(*baseline))))) < (((0)))) ? ((-1)) : ((0))) : ((1))))) == ((((((((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1)))))))) <= (((0)))) ? ((((((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1)))))))) < (((0)))) ? ((-1)) : ((0))) : ((1)))))) ? ((((signed long)(*check)) - ((signed long)(*baseline)))) : (((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1)))))))))))) <= ((0))) ? (((((((((((((((((signed long)(*check)) - ((signed long)(*baseline))))) <= (((0)))) ? (((((((signed long)(*check)) - ((signed long)(*baseline))))) < (((0)))) ? ((-1)) : ((0))) : ((1))))) == ((((((((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1)))))))) <= (((0)))) ? ((((((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1)))))))) < (((0)))) ? ((-1)) : ((0))) : ((1)))))) ? ((((signed long)(*check)) - ((signed long)(*baseline)))) : (((((((((*check))) <= (((*baseline)))) ? (((((*check))) < (((*baseline)))) ? ((-1)) : ((0))) : ((1)))))))))))) < ((0))) ? (((((int)-(((int)0x37EF) << (8 * (((!!(((!!(sizeof(int))) * ((sizeof(int)) - 1)))) * ((((!!(sizeof(int))) * ((sizeof(int)) - 1))) - 1))))))))) : (((0)))) : (((((int)-(((int)-(((int)0x37EF) << (8 * (((!!(((!!(sizeof(int))) * ((sizeof(int)) - 1)))) * ((((!!(sizeof(int))) * ((sizeof(int)) - 1))) - 1)))))))))))))));
}
```