user: Demonstrate the C code that generates the assembly output below:

```asm
<GetTtySpeed>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    %edi,-0x4(%rbp)
  cmpl   $0x38400,-0x4(%rbp)
  je     L399
  cmpl   $0x38400,-0x4(%rbp)
  jg     L118
  cmpl   $0x1c200,-0x4(%rbp)
  je     L346
  cmpl   $0x1c200,-0x4(%rbp)
  jg     L118
  cmpl   $0xe100,-0x4(%rbp)
  je     L494
  cmpl   $0xe100,-0x4(%rbp)
  jg     L118
  cmpl   $0x9600,-0x4(%rbp)
  je     L25
  cmpl   $0x9600,-0x4(%rbp)
  jg     L118
  cmpl   $0x4b00,-0x4(%rbp)
  je     L272
  cmpl   $0x4b00,-0x4(%rbp)
  jg     L118
  cmpl   $0x2580,-0x4(%rbp)
  je     L291
  cmpl   $0x2580,-0x4(%rbp)
  jg     L118
  cmpl   $0x12c0,-0x4(%rbp)
  je     L62
  cmpl   $0x12c0,-0x4(%rbp)
  jg     L118
  cmpl   $0x960,-0x4(%rbp)
  je     L356
  cmpl   $0x960,-0x4(%rbp)
  jg     L118
  cmpl   $0x708,-0x4(%rbp)
  je     L133
  cmpl   $0x708,-0x4(%rbp)
  jg     L118
  cmpl   $0x4b0,-0x4(%rbp)
  je     L241
  cmpl   $0x4b0,-0x4(%rbp)
  jg     L118
  cmpl   $0x258,-0x4(%rbp)
  je     L218
  cmpl   $0x258,-0x4(%rbp)
  jg     L118
  cmpl   $0x12c,-0x4(%rbp)
  je     L214
  cmpl   $0x12c,-0x4(%rbp)
  jg     L118
  cmpl   $0xc8,-0x4(%rbp)
  je     L5
  cmpl   $0xc8,-0x4(%rbp)
  jg     L118
  cmpl   $0x96,-0x4(%rbp)
  je     L337
  cmpl   $0x96,-0x4(%rbp)
  jg     L118
  cmpl   $0x86,-0x4(%rbp)
  je     L510
  cmpl   $0x86,-0x4(%rbp)
  jg     L118
  cmpl   $0x6e,-0x4(%rbp)
  je     L19
  cmpl   $0x6e,-0x4(%rbp)
  jg     L118
  cmpl   $0x32,-0x4(%rbp)
  je     L331
  cmpl   $0x4b,-0x4(%rbp)
  je     L11
  jmp    L118
L331:
  mov    D53(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L11:
  mov    D38(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L19:
  mov    D102(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L510:
  mov    D68(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L337:
  mov    D142(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L5:
  mov    D162(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L214:
  mov    D43(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L218:
  mov    D14(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L241:
  mov    D161(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L133:
  mov    D37(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L356:
  mov    D101(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L62:
  mov    D156(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L291:
  mov    D135(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L272:
  mov    D128(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L25:
  mov    D118(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L494:
  mov    D137(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L346:
  mov    D11(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L399:
  mov    D41(%rip),%rax
  mov    (%rax),%eax
  jmp    L469
L118:
  mov    $0xffffffff,%eax
L469:
  pop    %rbp
  ret
```

assistant: ```c
speed_t GetTtySpeed(int dSpeed) {
  switch (dSpeed) {
  case 50:
    return B50;
    break;
  case 75:
    return B75;
    break;
  case 110:
    return B110;
    break;
  case 134:
    return B134;
    break;
  case 150:
    return B150;
    break;
  case 200:
    return B200;
    break;
  case 300:
    return B300;
    break;
  case 600:
    return B600;
    break;
  case 1200:
    return B1200;
    break;
  case 1800:
    return B1800;
    break;
  case 2400:
    return B2400;
    break;
  case 4800:
    return B4800;
    break;
  case 9600:
    return B9600;
    break;
  case 19200:
    return B19200;
    break;
  case 38400:
    return B38400;
    break;
  case 57600:
    return B57600;
    break;
  case 115200:
    return B115200;
    break;
  case 230400:
    return B230400;
    break;
  default:
    return -1;
  }
  return -1;
}
```