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

```asm
<accel_show_ext_x>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x10,%rsp
  movsd  %xmm0,-0x8(%rbp)
  movsd  D43(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L321
  lea    D224(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L321:
  movsd  D235(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L37
  lea    D275(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L37:
  movsd  D320(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L152
  lea    D123(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L152:
  movsd  D78(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L29
  lea    D150(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L29:
  movsd  D74(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L78
  lea    D274(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L78:
  movsd  D94(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L386
  lea    D86(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L386:
  movsd  D343(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L108
  lea    D240(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L108:
  movsd  D87(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L187
  lea    D44(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L187:
  movsd  D346(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L253
  lea    D398(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L253:
  movsd  D383(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L383
  lea    D335(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L383:
  movsd  D107(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L40
  lea    D361(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L40:
  movsd  D194(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L347
  lea    D336(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L347:
  movsd  D169(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L49
  lea    D283(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L49:
  movsd  D95(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L341
  lea    D266(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L341:
  movsd  D284(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L240
  lea    D202(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L240:
  movsd  D158(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L380
  lea    D5(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L380:
  movsd  D354(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L193
  lea    D144(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L193:
  movsd  D39(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L305
  lea    D178(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L305:
  movsd  D63(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L273
  lea    D181(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L273:
  movsd  D175(%rip),%xmm0
  comisd -0x8(%rbp),%xmm0
  jbe    L373
  lea    D155(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
  jmp    L50
L373:
  lea    D136(%rip),%rax
  mov    %rax,%rdx
  mov    $0x51,%esi
  mov    $0x6,%edi
  call   <mvprintw@plt>
L50:
  nop
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D43
type: byte[8]
name: extract_symbolic_data
arguments: label: D224
type: string
name: extract_symbolic_data
arguments: label: D235
type: byte[8]
name: extract_symbolic_data
arguments: label: D275
type: string
name: extract_symbolic_data
arguments: label: D320
type: byte[8]
name: extract_symbolic_data
arguments: label: D123
type: string
name: extract_symbolic_data
arguments: label: D78
type: byte[8]
name: extract_symbolic_data
arguments: label: D150
type: string
name: extract_symbolic_data
arguments: label: D74
type: byte[8]
name: extract_symbolic_data
arguments: label: D274
type: string
name: extract_symbolic_data
arguments: label: D94
type: byte[8]
name: extract_symbolic_data
arguments: label: D86
type: string
name: extract_symbolic_data
arguments: label: D343
type: byte[8]
name: extract_symbolic_data
arguments: label: D240
type: string
name: extract_symbolic_data
arguments: label: D87
type: byte[8]
name: extract_symbolic_data
arguments: label: D44
type: string
name: extract_symbolic_data
arguments: label: D346
type: byte[8]
name: extract_symbolic_data
arguments: label: D398
type: string
name: extract_symbolic_data
arguments: label: D383
type: byte[8]
name: extract_symbolic_data
arguments: label: D335
type: string
name: extract_symbolic_data
arguments: label: D107
type: f64
name: extract_symbolic_data
arguments: label: D361
type: string
name: extract_symbolic_data
arguments: label: D194
type: byte[8]
name: extract_symbolic_data
arguments: label: D336
type: string
name: extract_symbolic_data
arguments: label: D169
type: byte[8]
name: extract_symbolic_data
arguments: label: D283
type: string
name: extract_symbolic_data
arguments: label: D95
type: byte[8]
name: extract_symbolic_data
arguments: label: D266
type: string
name: extract_symbolic_data
arguments: label: D284
type: byte[8]
name: extract_symbolic_data
arguments: label: D202
type: string
name: extract_symbolic_data
arguments: label: D158
type: byte[8]
name: extract_symbolic_data
arguments: label: D5
type: string
name: extract_symbolic_data
arguments: label: D354
type: byte[8]
name: extract_symbolic_data
arguments: label: D144
type: string
name: extract_symbolic_data
arguments: label: D39
type: byte[8]
name: extract_symbolic_data
arguments: label: D178
type: string
name: extract_symbolic_data
arguments: label: D63
type: byte[8]
name: extract_symbolic_data
arguments: label: D181
type: string
name: extract_symbolic_data
arguments: label: D175
type: byte[8]
name: extract_symbolic_data
arguments: label: D155
type: string
name: extract_symbolic_data
arguments: label: D136
type: string

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

tool: D224: <=========##          

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

tool: D275:  <========##          

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

tool: D123:   <=======##          

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

tool: D150:    <======##          

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

tool: D274:     <=====##          

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

tool: D86:      <====##          

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

tool: D240:       <===##          

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

tool: D44:        <==##          

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

tool: D398:         <=##          

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

tool: D335:          <##          

tool: D107: 0.3

tool: D361:           ##          

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

tool: D336:           ##>         

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

tool: D283:           ##=>        

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

tool: D266:           ##==>       

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

tool: D202:           ##===>      

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

tool: D5:           ##====>     

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

tool: D144:           ##=====>    

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

tool: D178:           ##======>   

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

tool: D181:           ##=======>  

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

tool: D155:           ##========> 

tool: D136:           ##=========>

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