user: Please show me the C implementation that matches the assembly code listed below:

```asm
<heatindex_F>:
  endbr64
  cmp    $0x3e7,%edi
  sete   %al
  cmp    $0x45,%edi
  setle  %dl
  or     %dl,%al
  jne    L14
  test   %esi,%esi
  js     L14
  sub    $0x8,%rsp
  mov    %edi,%edx
  imul   %edi,%edx
  mov    %esi,%eax
  imul   %esi,%eax
  pxor   %xmm6,%xmm6
  cvtsi2sd %edi,%xmm6
  pxor   %xmm5,%xmm5
  cvtsi2sd %esi,%xmm5
  pxor   %xmm4,%xmm4
  cvtsi2sd %edx,%xmm4
  pxor   %xmm3,%xmm3
  cvtsi2sd %eax,%xmm3
  imul   %edx,%edi
  pxor   %xmm2,%xmm2
  cvtsi2sd %edi,%xmm2
  imul   %eax,%esi
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  movapd %xmm6,%xmm0
  mulsd  D124(%rip),%xmm0
  addsd  D142(%rip),%xmm0
  movapd %xmm5,%xmm7
  mulsd  D93(%rip),%xmm7
  addsd  %xmm7,%xmm0
  movapd %xmm6,%xmm7
  mulsd  D86(%rip),%xmm7
  mulsd  %xmm5,%xmm7
  subsd  %xmm7,%xmm0
  movapd %xmm4,%xmm7
  mulsd  D66(%rip),%xmm7
  addsd  %xmm7,%xmm0
  movapd %xmm3,%xmm7
  mulsd  D151(%rip),%xmm7
  addsd  %xmm7,%xmm0
  movapd %xmm4,%xmm7
  mulsd  D59(%rip),%xmm7
  mulsd  %xmm5,%xmm7
  addsd  %xmm7,%xmm0
  movapd %xmm6,%xmm7
  mulsd  D18(%rip),%xmm7
  mulsd  %xmm3,%xmm7
  subsd  %xmm7,%xmm0
  movapd %xmm4,%xmm7
  mulsd  D58(%rip),%xmm7
  mulsd  %xmm3,%xmm7
  addsd  %xmm7,%xmm0
  movapd %xmm2,%xmm7
  mulsd  D103(%rip),%xmm7
  subsd  %xmm7,%xmm0
  movapd %xmm1,%xmm7
  mulsd  D7(%rip),%xmm7
  addsd  %xmm7,%xmm0
  movapd %xmm2,%xmm7
  mulsd  D61(%rip),%xmm7
  mulsd  %xmm7,%xmm5
  addsd  %xmm5,%xmm0
  mulsd  D136(%rip),%xmm6
  mulsd  %xmm1,%xmm6
  addsd  %xmm6,%xmm0
  movapd %xmm2,%xmm5
  mulsd  D138(%rip),%xmm5
  mulsd  %xmm5,%xmm3
  subsd  %xmm3,%xmm0
  mulsd  D56(%rip),%xmm4
  mulsd  %xmm1,%xmm4
  addsd  %xmm4,%xmm0
  mulsd  D76(%rip),%xmm2
  mulsd  %xmm1,%xmm2
  subsd  %xmm2,%xmm0
  call   <round@plt>
  add    $0x8,%rsp
  ret
L14:
  mov    $0x3e7,%eax
  ret
```

tool_calls: name: disassemble_data
arguments: tag: D124
type_infered: byte[8]
name: disassemble_data
arguments: tag: D142
type_infered: f64
name: disassemble_data
arguments: tag: D93
type_infered: f64
name: disassemble_data
arguments: tag: D86
type_infered: byte[8]
name: disassemble_data
arguments: tag: D66
type_infered: byte[8]
name: disassemble_data
arguments: tag: D151
type_infered: byte[8]
name: disassemble_data
arguments: tag: D59
type_infered: byte[8]
name: disassemble_data
arguments: tag: D18
type_infered: byte[8]
name: disassemble_data
arguments: tag: D58
type_infered: byte[8]
name: disassemble_data
arguments: tag: D103
type_infered: byte[8]
name: disassemble_data
arguments: tag: D7
type_infered: byte[8]
name: disassemble_data
arguments: tag: D61
type_infered: byte[8]
name: disassemble_data
arguments: tag: D136
type_infered: byte[8]
name: disassemble_data
arguments: tag: D138
type_infered: byte[8]
name: disassemble_data
arguments: tag: D56
type_infered: byte[8]
name: disassemble_data
arguments: tag: D76
type_infered: byte[8]

tool: {"D124": [0x02,0xd3,0x69,0xdd,0x06,0xb5,0xc7,0x3f]}

tool: D142: 16.923

tool: D93: 5.37941

tool: {"D86": [0x1b,0x0e,0x4b,0x03,0x3f,0xaa,0xb9,0x3f]}

tool: {"D66": [0x4c,0x7b,0x39,0xa2,0x31,0x49,0x83,0x3f]}

tool: {"D151": [0xff,0x06,0x8a,0xab,0x0c,0xdb,0x7d,0x3f]}

tool: {"D59": [0x3f,0x83,0xe8,0x71,0x61,0xa2,0x36,0x3f]}

tool: {"D18": [0x15,0x6e,0x66,0xe5,0x78,0xb4,0x4a,0x3f]}

tool: {"D58": [0xa8,0xc1,0xe6,0x33,0x8f,0x69,0xe5,0x3e]}

tool: {"D103": [0x1b,0xae,0xef,0x72,0xfa,0x42,0x04,0x3f]}

tool: {"D7": [0xd4,0xc1,0x56,0x1e,0x1f,0x93,0xfe,0x3e]}

tool: {"D61": [0x02,0xdf,0x82,0xfd,0xd1,0xf1,0xb7,0x3e]}

tool: {"D136": [0x11,0x23,0x9b,0xd6,0x76,0x81,0x8a,0x3e]}

tool: {"D138": [0x58,0xe8,0x33,0x71,0x21,0x74,0x57,0x3e]}

tool: {"D56": [0x53,0x10,0x93,0xc6,0xb5,0xf9,0x0c,0x3e]}

tool: {"D76": [0x0b,0x0e,0xbf,0xf1,0x31,0x7f,0xca,0x3d]}

assistant: ```c
int heatindex_F(int temp_F, int rh) {
  int temp2, temp3, rh2, rh3;
  if (temp_F == 999 || temp_F < 70 || rh < 0)
    return 999;
  temp2 = temp_F * temp_F;
  temp3 = temp2 * temp_F;
  rh2 = rh * rh;
  rh3 = rh2 * rh;
  return round(16.923 + .185212 * temp_F + 5.37941 * rh - .100254 * temp_F * rh + (9.41695e-3) * temp2 + (7.28898e-3) * rh2 + (3.45372e-4) * temp2 * rh - (8.14971e-4) * temp_F * rh2 + (1.02102e-5) * temp2 * rh2 - (3.8646e-5) * temp3 + (2.91583e-5) * rh3 + (1.42721e-6) * temp3 * rh + (1.97483e-7) * temp_F * rh3 - (2.18429e-8) * temp3 * rh2 + (8.43296e-10) * temp2 * rh3 - (4.81975e-11) * temp3 * rh3);
}
```