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

```asm
<nunchuk_show_ext_x>:
  endbr64
  sub    $0x8,%rsp
  movsd  D76(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L272
  movsd  D269(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L288
  movsd  D278(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L246
  movsd  D310(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L310
  movsd  D203(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L367
  movsd  D2(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L49
  movsd  D197(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L355
  movsd  D257(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L84
  movsd  D73(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L291
  movsd  D65(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L194
  movsd  D178(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L266
  movsd  D37(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L143
  movsd  D176(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L368
  movsd  D126(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L25
  movsd  D79(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L1
  movsd  D340(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L170
  movsd  D200(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L380
  movsd  D293(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L126
  movsd  D42(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L273
  movsd  D381(%rip),%xmm1
  comisd %xmm0,%xmm1
  jbe    L360
  lea    D266(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L272:
  lea    D312(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
L396:
  add    $0x8,%rsp
  ret
L288:
  lea    D149(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L246:
  lea    D204(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L310:
  lea    D148(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L367:
  lea    D300(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L49:
  lea    D218(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L355:
  lea    D403(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L84:
  lea    D365(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L291:
  lea    D97(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L194:
  lea    D279(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L266:
  lea    D127(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L143:
  lea    D13(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L368:
  lea    D154(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L25:
  lea    D194(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L1:
  lea    D322(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L170:
  lea    D351(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L380:
  lea    D134(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L126:
  lea    D99(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L273:
  lea    D45(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
L360:
  lea    D348(%rip),%rdx
  mov    $0x2,%esi
  mov    $0x1e,%edi
  call   <mvprintw@plt>
  jmp    L396
```

tool_calls: name: parse_data
arguments: label: D76
data_type: byte[8]
name: parse_data
arguments: label: D269
data_type: byte[8]
name: parse_data
arguments: label: D278
data_type: byte[8]
name: parse_data
arguments: label: D310
data_type: byte[8]
name: parse_data
arguments: label: D203
data_type: byte[8]
name: parse_data
arguments: label: D2
data_type: byte[8]
name: parse_data
arguments: label: D197
data_type: byte[8]
name: parse_data
arguments: label: D257
data_type: byte[8]
name: parse_data
arguments: label: D73
data_type: byte[8]
name: parse_data
arguments: label: D65
data_type: byte[8]
name: parse_data
arguments: label: D178
data_type: f64
name: parse_data
arguments: label: D37
data_type: byte[8]
name: parse_data
arguments: label: D176
data_type: byte[8]
name: parse_data
arguments: label: D126
data_type: byte[8]
name: parse_data
arguments: label: D79
data_type: byte[8]
name: parse_data
arguments: label: D340
data_type: byte[8]
name: parse_data
arguments: label: D200
data_type: byte[8]
name: parse_data
arguments: label: D293
data_type: byte[8]
name: parse_data
arguments: label: D42
data_type: byte[8]
name: parse_data
arguments: label: D381
data_type: byte[8]
name: parse_data
arguments: label: D266
data_type: string
name: parse_data
arguments: label: D312
data_type: string
name: parse_data
arguments: label: D149
data_type: string
name: parse_data
arguments: label: D204
data_type: string
name: parse_data
arguments: label: D148
data_type: string
name: parse_data
arguments: label: D300
data_type: string
name: parse_data
arguments: label: D218
data_type: string
name: parse_data
arguments: label: D403
data_type: string
name: parse_data
arguments: label: D365
data_type: string
name: parse_data
arguments: label: D97
data_type: string
name: parse_data
arguments: label: D279
data_type: string
name: parse_data
arguments: label: D127
data_type: string
name: parse_data
arguments: label: D13
data_type: string
name: parse_data
arguments: label: D154
data_type: string
name: parse_data
arguments: label: D194
data_type: string
name: parse_data
arguments: label: D322
data_type: string
name: parse_data
arguments: label: D351
data_type: string
name: parse_data
arguments: label: D134
data_type: string
name: parse_data
arguments: label: D99
data_type: string
name: parse_data
arguments: label: D45
data_type: string
name: parse_data
arguments: label: D348
data_type: string

tool: {"D76": [0x00,0x00,0x00,0x00,0x00,0x00,0x24,0xc0]}

tool: {"D269": [0x00,0x00,0x00,0x00,0x00,0x00,0x22,0xc0]}

tool: {"D278": [0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xc0]}

tool: {"D310": [0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0xc0]}

tool: {"D203": [0x00,0x00,0x00,0x00,0x00,0x00,0x18,0xc0]}

tool: {"D2": [0x00,0x00,0x00,0x00,0x00,0x00,0x14,0xc0]}

tool: {"D197": [0x00,0x00,0x00,0x00,0x00,0x00,0x10,0xc0]}

tool: {"D257": [0x00,0x00,0x00,0x00,0x00,0x00,0x08,0xc0]}

tool: {"D73": [0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0]}

tool: {"D65": [0x33,0x33,0x33,0x33,0x33,0x33,0xd3,0xbf]}

tool: D178: 0.3

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

tool: {"D176": [0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x40]}

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

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

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

tool: {"D200": [0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x40]}

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

tool: {"D42": [0x00,0x00,0x00,0x00,0x00,0x00,0x22,0x40]}

tool: {"D381": [0x00,0x00,0x00,0x00,0x00,0x00,0x24,0x40]}

tool: D266:           ##========> 

tool: D312: <=========##          

tool: D149:  <========##          

tool: D204:   <=======##          

tool: D148:    <======##          

tool: D300:     <=====##          

tool: D218:      <====##          

tool: D403:       <===##          

tool: D365:        <==##          

tool: D97:         <=##          

tool: D279:          <##          

tool: D127:           ##          

tool: D13:           ##>         

tool: D154:           ##=>        

tool: D194:           ##==>       

tool: D322:           ##===>      

tool: D351:           ##====>     

tool: D134:           ##=====>    

tool: D99:           ##======>   

tool: D45:           ##=======>  

tool: D348:           ##=========>

assistant: ```c
void nunchuk_show_ext_x(double val) {
  if (val < -10)
    mvprintw(30, 2, "<=========##          ");
  else if (val < -9)
    mvprintw(30, 2, " <========##          ");
  else if (val < -8)
    mvprintw(30, 2, "  <=======##          ");
  else if (val < -7)
    mvprintw(30, 2, "   <======##          ");
  else if (val < -6)
    mvprintw(30, 2, "    <=====##          ");
  else if (val < -5)
    mvprintw(30, 2, "     <====##          ");
  else if (val < -4)
    mvprintw(30, 2, "      <===##          ");
  else if (val < -3)
    mvprintw(30, 2, "       <==##          ");
  else if (val < -2)
    mvprintw(30, 2, "        <=##          ");
  else if (val < -0.3)
    mvprintw(30, 2, "         <##          ");
  else if (val < 0.3)
    mvprintw(30, 2, "          ##          ");
  else if (val < 2)
    mvprintw(30, 2, "          ##>         ");
  else if (val < 3)
    mvprintw(30, 2, "          ##=>        ");
  else if (val < 4)
    mvprintw(30, 2, "          ##==>       ");
  else if (val < 5)
    mvprintw(30, 2, "          ##===>      ");
  else if (val < 6)
    mvprintw(30, 2, "          ##====>     ");
  else if (val < 7)
    mvprintw(30, 2, "          ##=====>    ");
  else if (val < 8)
    mvprintw(30, 2, "          ##======>   ");
  else if (val < 9)
    mvprintw(30, 2, "          ##=======>  ");
  else if (val < 10)
    mvprintw(30, 2, "          ##========> ");
  else
    mvprintw(30, 2, "          ##=========>");
}
```