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

```asm
<rssi_to_heat>:
  endbr64
  movss  D70(%rip),%xmm1
  xor    %eax,%eax
  comiss %xmm0,%xmm1
  ja     L10
  movsd  D144(%rip),%xmm2
  pxor   %xmm1,%xmm1
  mov    $0x1,%eax
  cvtss2sd %xmm0,%xmm1
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D71(%rip),%xmm2
  mov    $0x2,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D130(%rip),%xmm2
  mov    $0x3,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D114(%rip),%xmm2
  mov    $0x4,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D75(%rip),%xmm2
  mov    $0x5,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D85(%rip),%xmm2
  mov    $0x6,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D22(%rip),%xmm2
  mov    $0x7,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D125(%rip),%xmm2
  mov    $0x8,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D166(%rip),%xmm2
  mov    $0x9,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D0(%rip),%xmm2
  mov    $0xa,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D127(%rip),%xmm2
  mov    $0xb,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D23(%rip),%xmm2
  mov    $0xc,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D9(%rip),%xmm2
  mov    $0xd,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D131(%rip),%xmm2
  mov    $0xe,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D156(%rip),%xmm2
  mov    $0xf,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movsd  D164(%rip),%xmm2
  mov    $0x10,%eax
  comisd %xmm1,%xmm2
  ja     L10
  movss  D60(%rip),%xmm1
  xor    %eax,%eax
  ucomiss %xmm0,%xmm1
  setbe  %al
  add    $0x11,%eax
L10:
  ret
```

tool_calls: name: read_data
arguments: data_label: D70
datatype: byte[4]
name: read_data
arguments: data_label: D144
datatype: byte[8]
name: read_data
arguments: data_label: D71
datatype: byte[8]
name: read_data
arguments: data_label: D130
datatype: byte[8]
name: read_data
arguments: data_label: D114
datatype: byte[8]
name: read_data
arguments: data_label: D75
datatype: byte[8]
name: read_data
arguments: data_label: D85
datatype: byte[8]
name: read_data
arguments: data_label: D22
datatype: byte[8]
name: read_data
arguments: data_label: D125
datatype: byte[8]
name: read_data
arguments: data_label: D166
datatype: byte[8]
name: read_data
arguments: data_label: D0
datatype: byte[8]
name: read_data
arguments: data_label: D127
datatype: byte[8]
name: read_data
arguments: data_label: D23
datatype: byte[8]
name: read_data
arguments: data_label: D9
datatype: byte[8]
name: read_data
arguments: data_label: D131
datatype: byte[8]
name: read_data
arguments: data_label: D156
datatype: byte[8]
name: read_data
arguments: data_label: D164
datatype: byte[8]
name: read_data
arguments: data_label: D60
datatype: byte[4]

tool: {"D70": [0x00,0x00,0xcc,0xc2]}

tool: {"D144": [0x85,0xeb,0x51,0xb8,0x1e,0xe5,0x58,0xc0]}

tool: {"D71": [0x7b,0x14,0xae,0x47,0xe1,0x4a,0x58,0xc0]}

tool: {"D130": [0x71,0x3d,0x0a,0xd7,0xa3,0xb0,0x57,0xc0]}

tool: {"D114": [0x66,0x66,0x66,0x66,0x66,0x16,0x57,0xc0]}

tool: {"D75": [0x5c,0x8f,0xc2,0xf5,0x28,0x7c,0x56,0xc0]}

tool: {"D85": [0xe1,0x7a,0x14,0xae,0x47,0xe1,0x55,0xc0]}

tool: {"D22": [0xd7,0xa3,0x70,0x3d,0x0a,0x47,0x55,0xc0]}

tool: {"D125": [0xcd,0xcc,0xcc,0xcc,0xcc,0xac,0x54,0xc0]}

tool: {"D166": [0xc3,0xf5,0x28,0x5c,0x8f,0x12,0x54,0xc0]}

tool: {"D0": [0xb8,0x1e,0x85,0xeb,0x51,0x78,0x53,0xc0]}

tool: {"D127": [0xae,0x47,0xe1,0x7a,0x14,0xde,0x52,0xc0]}

tool: {"D23": [0x33,0x33,0x33,0x33,0x33,0x43,0x52,0xc0]}

tool: {"D9": [0x29,0x5c,0x8f,0xc2,0xf5,0xa8,0x51,0xc0]}

tool: {"D131": [0x1f,0x85,0xeb,0x51,0xb8,0x0e,0x51,0xc0]}

tool: {"D156": [0x14,0xae,0x47,0xe1,0x7a,0x74,0x50,0xc0]}

tool: {"D164": [0x14,0xae,0x47,0xe1,0x7a,0xb4,0x4f,0xc0]}

tool: {"D60": [0x00,0x00,0x74,0xc2]}

assistant: ```c
int rssi_to_heat(float rssi) {
  if (rssi < -102) {
    return 0;
  } else if (rssi < -99.58) {
    return 1;
  } else if (rssi < -97.17) {
    return 2;
  } else if (rssi < -94.76) {
    return 3;
  } else if (rssi < -92.35) {
    return 4;
  } else if (rssi < -89.94) {
    return 5;
  } else if (rssi < -87.52) {
    return 6;
  } else if (rssi < -85.11) {
    return 7;
  } else if (rssi < -82.70) {
    return 8;
  } else if (rssi < -80.29) {
    return 9;
  } else if (rssi < -77.88) {
    return 10;
  } else if (rssi < -75.47) {
    return 11;
  } else if (rssi < -73.05) {
    return 12;
  } else if (rssi < -70.64) {
    return 13;
  } else if (rssi < -68.23) {
    return 14;
  } else if (rssi < -65.82) {
    return 15;
  } else if (rssi < -63.41) {
    return 16;
  }
  if (rssi < -61.0f) {
    return 17;
  } else {
    return 18;
  }
}
```