user: Translate the below assembly code into C programming language:

```asm
<accel_show_ext_z>:
  endbr64
  push   %r13
  push   %r12
  sub    $0x8,%rsp
  movsd  D115(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L16
  movsd  D267(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L180
  movsd  D257(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L107
  movsd  D116(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L21
  movsd  D277(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L186
  movsd  D0(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L26
  movsd  D84(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L10
  movsd  D122(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L174
  movsd  D223(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L63
  movsd  D22(%rip),%xmm1
  mov    $0x5b,%esi
  mov    $0x1,%edi
  lea    D142(%rip),%r12
  mov    %r12,%rdx
  comisd %xmm0,%xmm1
  jbe    L58
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x2,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x3,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x4,%edi
  call   <mvprintw@plt>
  lea    D229(%rip),%r13
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x5,%edi
  call   <mvprintw@plt>
  mov    %r13,%rdx
  mov    $0x5b,%esi
  mov    $0x7,%edi
  call   <mvprintw@plt>
  mov    %r13,%rdx
  mov    $0x5b,%esi
  mov    $0x8,%edi
  call   <mvprintw@plt>
  mov    %r13,%rdx
  mov    $0x5b,%esi
  mov    $0x9,%edi
  call   <mvprintw@plt>
  mov    $0x5b,%esi
  mov    $0xa,%edi
  lea    D324(%rip),%rdx
  call   <mvprintw@plt>
  mov    %r12,%rdx
  jmp    L81
  nopl   0x0(%rax)
L180:
  lea    D142(%rip),%r12
  mov    $0x5b,%esi
  mov    $0x1,%edi
  mov    %r12,%rdx
  lea    D229(%rip),%r13
  call   <mvprintw@plt>
  mov    $0x5b,%esi
  mov    $0x2,%edi
  lea    D220(%rip),%rdx
  call   <mvprintw@plt>
  mov    %r13,%rdx
  mov    $0x5b,%esi
  mov    $0x3,%edi
  call   <mvprintw@plt>
L162:
  mov    %r13,%rdx
  mov    $0x5b,%esi
  mov    $0x4,%edi
  call   <mvprintw@plt>
  mov    %r13,%rdx
L13:
  mov    $0x5b,%esi
  mov    $0x5,%edi
  call   <mvprintw@plt>
L9:
  mov    %r12,%rdx
L71:
  mov    $0x5b,%esi
  mov    $0x7,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x8,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
L11:
  mov    $0x5b,%esi
  mov    $0x9,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0xa,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
L81:
  add    $0x8,%rsp
  mov    $0x5b,%esi
  mov    $0xb,%edi
  pop    %r12
  pop    %r13
  jmp    1050 <mvprintw@plt>
  xchg   %ax,%ax
L16:
  lea    D229(%rip),%r12
  mov    $0x5b,%esi
  mov    $0x1,%edi
  lea    D220(%rip),%rdx
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x2,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x3,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x4,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x5,%edi
  call   <mvprintw@plt>
  lea    D142(%rip),%r12
  jmp    L9
  nopl   0x0(%rax)
L186:
  lea    D142(%rip),%r12
  mov    $0x5b,%esi
  mov    $0x1,%edi
  mov    %r12,%rdx
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x2,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x3,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x4,%edi
  call   <mvprintw@plt>
  lea    D220(%rip),%rdx
  jmp    L13
  nopl   0x0(%rax,%rax,1)
L107:
  lea    D142(%rip),%r12
  mov    $0x5b,%esi
  mov    $0x1,%edi
  mov    %r12,%rdx
  lea    D229(%rip),%r13
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x2,%edi
  call   <mvprintw@plt>
  mov    $0x5b,%esi
  mov    $0x3,%edi
  lea    D220(%rip),%rdx
  call   <mvprintw@plt>
  jmp    L162
  nopl   (%rax)
L21:
  lea    D142(%rip),%r12
  mov    $0x5b,%esi
  mov    $0x5,%edi
  mov    %r12,%rdx
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x1,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x2,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x3,%edi
  call   <mvprintw@plt>
  mov    $0x5b,%esi
  mov    $0x4,%edi
  lea    D220(%rip),%rdx
  call   <mvprintw@plt>
  lea    D229(%rip),%rdx
  jmp    L13
  nopl   0x0(%rax)
L174:
  lea    D142(%rip),%r12
  mov    $0x5b,%esi
  mov    $0x1,%edi
  mov    %r12,%rdx
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x2,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x3,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x4,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x5,%edi
  call   <mvprintw@plt>
  mov    $0x5b,%esi
  mov    $0x7,%edi
  lea    D229(%rip),%rdx
  call   <mvprintw@plt>
  mov    $0x5b,%esi
  mov    $0x8,%edi
  lea    D324(%rip),%rdx
  call   <mvprintw@plt>
  mov    %r12,%rdx
  jmp    L11
  nopl   (%rax)
L26:
  lea    D142(%rip),%r12
  mov    $0x5b,%esi
  mov    $0x1,%edi
  mov    %r12,%rdx
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x2,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x3,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x4,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  jmp    L13
  nop
L10:
  lea    D142(%rip),%r12
  mov    $0x5b,%esi
  mov    $0x1,%edi
  mov    %r12,%rdx
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x2,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x3,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x4,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x5,%edi
  call   <mvprintw@plt>
  lea    D324(%rip),%rdx
  jmp    L71
  nopl   (%rax)
L58:
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x2,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x3,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x4,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  lea    D229(%rip),%r12
  mov    $0x5,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x7,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x8,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x9,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0xa,%edi
  call   <mvprintw@plt>
  lea    D324(%rip),%rdx
  jmp    L81
  nopl   0x0(%rax,%rax,1)
L63:
  lea    D142(%rip),%r12
  mov    $0x5b,%esi
  mov    $0x1,%edi
  mov    %r12,%rdx
  lea    D229(%rip),%r13
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x2,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x3,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x4,%edi
  call   <mvprintw@plt>
  mov    %r12,%rdx
  mov    $0x5b,%esi
  mov    $0x5,%edi
  call   <mvprintw@plt>
  mov    %r13,%rdx
  mov    $0x5b,%esi
  mov    $0x7,%edi
  call   <mvprintw@plt>
  mov    %r13,%rdx
  mov    $0x5b,%esi
  mov    $0x8,%edi
  call   <mvprintw@plt>
  lea    D324(%rip),%rdx
  jmp    L11
```

tool_calls: name: retrieve_data
arguments: label: D115
type: byte[8]
name: retrieve_data
arguments: label: D267
type: byte[8]
name: retrieve_data
arguments: label: D257
type: byte[8]
name: retrieve_data
arguments: label: D116
type: byte[8]
name: retrieve_data
arguments: label: D277
type: byte[8]
name: retrieve_data
arguments: label: D0
type: f64
name: retrieve_data
arguments: label: D84
type: byte[8]
name: retrieve_data
arguments: label: D122
type: byte[8]
name: retrieve_data
arguments: label: D223
type: byte[8]
name: retrieve_data
arguments: label: D22
type: byte[8]
name: retrieve_data
arguments: label: D142
type: string
name: retrieve_data
arguments: label: D229
type: string
name: retrieve_data
arguments: label: D324
type: string
name: retrieve_data
arguments: label: D220
type: string

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

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

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

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

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

tool: D0: 0.3

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

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

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

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

tool: D142:   

tool: D229: ||

tool: D324: \/

tool: D220: /\

assistant: ```c
void accel_show_ext_z(double val) {
  if (val < -5) {
    mvprintw(1, 91, "/\\");
    mvprintw(2, 91, "||");
    mvprintw(3, 91, "||");
    mvprintw(4, 91, "||");
    mvprintw(5, 91, "||");
    mvprintw(7, 91, "  ");
    mvprintw(8, 91, "  ");
    mvprintw(9, 91, "  ");
    mvprintw(10, 91, "  ");
    mvprintw(11, 91, "  ");
  } else if (val < -4) {
    mvprintw(1, 91, "  ");
    mvprintw(2, 91, "/\\");
    mvprintw(3, 91, "||");
    mvprintw(4, 91, "||");
    mvprintw(5, 91, "||");
    mvprintw(7, 91, "  ");
    mvprintw(8, 91, "  ");
    mvprintw(9, 91, "  ");
    mvprintw(10, 91, "  ");
    mvprintw(11, 91, "  ");
  } else if (val < -3) {
    mvprintw(1, 91, "  ");
    mvprintw(2, 91, "  ");
    mvprintw(3, 91, "/\\");
    mvprintw(4, 91, "||");
    mvprintw(5, 91, "||");
    mvprintw(7, 91, "  ");
    mvprintw(8, 91, "  ");
    mvprintw(9, 91, "  ");
    mvprintw(10, 91, "  ");
    mvprintw(11, 91, "  ");
  } else if (val < -2) {
    mvprintw(5, 91, "  ");
    mvprintw(1, 91, "  ");
    mvprintw(2, 91, "  ");
    mvprintw(3, 91, "  ");
    mvprintw(4, 91, "/\\");
    mvprintw(5, 91, "||");
    mvprintw(7, 91, "  ");
    mvprintw(8, 91, "  ");
    mvprintw(9, 91, "  ");
    mvprintw(10, 91, "  ");
    mvprintw(11, 91, "  ");
  } else if (val < -0.3) {
    mvprintw(1, 91, "  ");
    mvprintw(2, 91, "  ");
    mvprintw(3, 91, "  ");
    mvprintw(4, 91, "  ");
    mvprintw(5, 91, "/\\");
    mvprintw(7, 91, "  ");
    mvprintw(8, 91, "  ");
    mvprintw(9, 91, "  ");
    mvprintw(10, 91, "  ");
    mvprintw(11, 91, "  ");
  } else if (val < 0.3) {
    mvprintw(1, 91, "  ");
    mvprintw(2, 91, "  ");
    mvprintw(3, 91, "  ");
    mvprintw(4, 91, "  ");
    mvprintw(5, 91, "  ");
    mvprintw(7, 91, "  ");
    mvprintw(8, 91, "  ");
    mvprintw(9, 91, "  ");
    mvprintw(10, 91, "  ");
    mvprintw(11, 91, "  ");
  } else if (val < 2) {
    mvprintw(1, 91, "  ");
    mvprintw(2, 91, "  ");
    mvprintw(3, 91, "  ");
    mvprintw(4, 91, "  ");
    mvprintw(5, 91, "  ");
    mvprintw(7, 91, "\\/");
    mvprintw(8, 91, "  ");
    mvprintw(9, 91, "  ");
    mvprintw(10, 91, "  ");
    mvprintw(11, 91, "  ");
  } else if (val < 3) {
    mvprintw(1, 91, "  ");
    mvprintw(2, 91, "  ");
    mvprintw(3, 91, "  ");
    mvprintw(4, 91, "  ");
    mvprintw(5, 91, "  ");
    mvprintw(7, 91, "||");
    mvprintw(8, 91, "\\/");
    mvprintw(9, 91, "  ");
    mvprintw(10, 91, "  ");
    mvprintw(11, 91, "  ");
  } else if (val < 4) {
    mvprintw(1, 91, "  ");
    mvprintw(2, 91, "  ");
    mvprintw(3, 91, "  ");
    mvprintw(4, 91, "  ");
    mvprintw(5, 91, "  ");
    mvprintw(7, 91, "||");
    mvprintw(8, 91, "||");
    mvprintw(9, 91, "\\/");
    mvprintw(10, 91, "  ");
    mvprintw(11, 91, "  ");
  } else if (val < 5) {
    mvprintw(1, 91, "  ");
    mvprintw(2, 91, "  ");
    mvprintw(3, 91, "  ");
    mvprintw(4, 91, "  ");
    mvprintw(5, 91, "  ");
    mvprintw(7, 91, "||");
    mvprintw(8, 91, "||");
    mvprintw(9, 91, "||");
    mvprintw(10, 91, "\\/");
    mvprintw(11, 91, "  ");
  } else {
    mvprintw(1, 91, "  ");
    mvprintw(2, 91, "  ");
    mvprintw(3, 91, "  ");
    mvprintw(4, 91, "  ");
    mvprintw(5, 91, "  ");
    mvprintw(7, 91, "||");
    mvprintw(8, 91, "||");
    mvprintw(9, 91, "||");
    mvprintw(10, 91, "||");
    mvprintw(11, 91, "\\/");
  }
}
```