user: 这段汇编代码用C语言表示是什么样的？

```asm
<rate_to_constant>:
  endbr64
  cmp    $0x2580,%edi
  je     L207
  jg     L92
  cmp    $0x12c,%edi
  je     L181
  jle    L98
  cmp    $0x708,%edi
  je     L284
  jle    L111
  cmp    $0x960,%edi
  je     L7
  cmp    $0x12c0,%edi
  jne    L241
  mov    D53(%rip),%rax
  mov    (%rax),%eax
  ret
L98:
  cmp    $0x86,%edi
  je     L295
  jle    L194
  cmp    $0x96,%edi
  je     L128
  cmp    $0xc8,%edi
  jne    L156
  mov    D52(%rip),%rax
  mov    (%rax),%eax
  ret
L194:
  cmp    $0x4b,%edi
  je     L81
  cmp    $0x6e,%edi
  jne    L132
  mov    D115(%rip),%rax
  mov    (%rax),%eax
  ret
L132:
  cmp    $0x32,%edi
  jne    L256
  mov    D249(%rip),%rax
  mov    (%rax),%eax
  ret
L256:
  mov    $0x0,%eax
  ret
L156:
  mov    $0x0,%eax
  ret
L111:
  cmp    $0x258,%edi
  je     L240
  cmp    $0x4b0,%edi
  jne    L30
  mov    D126(%rip),%rax
  mov    (%rax),%eax
  ret
L30:
  mov    $0x0,%eax
  ret
L241:
  mov    $0x0,%eax
  ret
L92:
  cmp    $0x7a120,%edi
  je     L177
  jle    L188
  cmp    $0xf4240,%edi
  je     L122
  jle    L89
  cmp    $0x119400,%edi
  je     L77
  cmp    $0x16e360,%edi
  jne    L268
  mov    D78(%rip),%rax
  mov    (%rax),%eax
  ret
L188:
  cmp    $0x1c200,%edi
  je     L277
  jle    L218
  cmp    $0x38400,%edi
  je     L67
  cmp    $0x70800,%edi
  jne    L82
  mov    D245(%rip),%rax
  mov    (%rax),%eax
  ret
L218:
  cmp    $0x9600,%edi
  je     L76
  cmp    $0xe100,%edi
  jne    L279
  mov    D219(%rip),%rax
  mov    (%rax),%eax
  ret
L279:
  cmp    $0x4b00,%edi
  jne    L131
  mov    D196(%rip),%rax
  mov    (%rax),%eax
  ret
L131:
  mov    $0x0,%eax
  ret
L82:
  mov    $0x0,%eax
  ret
L89:
  cmp    $0x8ca00,%edi
  je     L183
  cmp    $0xe1000,%edi
  jne    L250
  mov    D46(%rip),%rax
  mov    (%rax),%eax
  ret
L250:
  mov    $0x0,%eax
  ret
L268:
  mov    $0x0,%eax
  ret
L81:
  mov    D147(%rip),%rax
  mov    (%rax),%eax
  ret
L295:
  mov    D120(%rip),%rax
  mov    (%rax),%eax
  ret
L128:
  mov    D90(%rip),%rax
  mov    (%rax),%eax
  ret
L181:
  mov    D42(%rip),%rax
  mov    (%rax),%eax
  ret
L240:
  mov    D128(%rip),%rax
  mov    (%rax),%eax
  ret
L284:
  mov    D86(%rip),%rax
  mov    (%rax),%eax
  ret
L7:
  mov    D70(%rip),%rax
  mov    (%rax),%eax
  ret
L207:
  mov    D101(%rip),%rax
  mov    (%rax),%eax
  ret
L76:
  mov    D55(%rip),%rax
  mov    (%rax),%eax
  ret
L277:
  mov    D178(%rip),%rax
  mov    (%rax),%eax
  ret
L67:
  mov    D17(%rip),%rax
  mov    (%rax),%eax
  ret
L177:
  mov    D154(%rip),%rax
  mov    (%rax),%eax
  ret
L183:
  mov    D220(%rip),%rax
  mov    (%rax),%eax
  ret
L122:
  mov    D27(%rip),%rax
  mov    (%rax),%eax
  ret
L77:
  mov    D175(%rip),%rax
  mov    (%rax),%eax
  ret
```

assistant: ```c
int rate_to_constant(int baudrate) {
  switch (baudrate) {
  case 50:
    return B50;
  case 75:
    return B75;
  case 110:
    return B110;
  case 134:
    return B134;
  case 150:
    return B150;
  case 200:
    return B200;
  case 300:
    return B300;
  case 600:
    return B600;
  case 1200:
    return B1200;
  case 1800:
    return B1800;
  case 2400:
    return B2400;
  case 4800:
    return B4800;
  case 9600:
    return B9600;
  case 19200:
    return B19200;
  case 38400:
    return B38400;
  case 57600:
    return B57600;
  case 115200:
    return B115200;
  case 230400:
    return B230400;
  case 460800:
    return B460800;
  case 500000:
    return B500000;
  case 576000:
    return B576000;
  case 921600:
    return B921600;
  case 1000000:
    return B1000000;
  case 1152000:
    return B1152000;
  case 1500000:
    return B1500000;
  default:
    return 0;
  }
}
```