user: 请将以下的汇编代码转换成C语言代码:

```asm
<ho_recognize_font_1_het>:
  endbr64
  movsd  0x88(%rdi),%xmm9
  pxor   %xmm1,%xmm1
  ucomisd %xmm1,%xmm9
  jp     L160
  jne    L160
  movsd  D65(%rip),%xmm2
  movapd %xmm1,%xmm0
  movapd %xmm2,%xmm3
L354:
  movsd  0xa0(%rdi),%xmm8
  ucomisd %xmm1,%xmm8
  jp     L181
  jne    L181
L135:
  movsd  0xb0(%rdi),%xmm7
  ucomisd %xmm1,%xmm7
  jp     L450
  jne    L450
L44:
  movsd  0x98(%rdi),%xmm6
  ucomisd %xmm1,%xmm6
  jp     L70
  jne    L70
  addsd  %xmm2,%xmm0
L70:
  movsd  0x40(%rdi),%xmm5
  movsd  0x50(%rdi),%xmm3
  addsd  %xmm2,%xmm5
  comisd %xmm3,%xmm5
  jbe    L239
  addsd  %xmm2,%xmm0
L239:
  movsd  0x70(%rdi),%xmm4
  ucomisd %xmm1,%xmm4
  jp     L353
  jne    L353
L337:
  ucomisd %xmm1,%xmm9
  jp     L225
  jne    L225
  subsd  %xmm2,%xmm0
L225:
  ucomisd %xmm1,%xmm8
  jp     L79
  jne    L79
  subsd  %xmm2,%xmm0
L79:
  ucomisd %xmm1,%xmm7
  jp     L277
  jne    L277
  subsd  %xmm2,%xmm0
L277:
  ucomisd %xmm1,%xmm6
  jp     L447
  jne    L447
L6:
  ucomisd 0xd8(%rdi),%xmm1
  jp     L221
  jne    L221
L465:
  movsd  D95(%rip),%xmm6
  comisd 0x58(%rdi),%xmm6
  jbe    L124
  subsd  D103(%rip),%xmm0
L124:
  ucomisd 0x160(%rdi),%xmm1
  jp     L251
  jne    L251
L379:
  comisd %xmm3,%xmm5
  jbe    L4
  subsd  %xmm2,%xmm0
L4:
  ucomisd %xmm1,%xmm4
  jp     L434
  jne    L434
  subsd  D74(%rip),%xmm0
L434:
  ucomisd 0x108(%rdi),%xmm1
  jp     L101
  jne    L101
L93:
  ucomisd 0x228(%rdi),%xmm1
  jp     L199
  jne    L199
L371:
  ucomisd 0x218(%rdi),%xmm1
  jp     L112
  jne    L112
L387:
  addsd  %xmm2,%xmm3
  movsd  0x28(%rdi),%xmm4
  comisd %xmm3,%xmm4
  jbe    L144
  subsd  %xmm2,%xmm0
L144:
  ucomisd 0x1c8(%rdi),%xmm1
  jp     L150
  jne    L150
  subsd  D103(%rip),%xmm0
L150:
  ret
L112:
  subsd  D74(%rip),%xmm0
  jmp    L387
  nopw   0x0(%rax,%rax,1)
L199:
  subsd  D103(%rip),%xmm0
  jmp    L371
  nopw   0x0(%rax,%rax,1)
L101:
  subsd  D103(%rip),%xmm0
  jmp    L93
  nopw   0x0(%rax,%rax,1)
L251:
  movsd  0x30(%rdi),%xmm6
  comisd D103(%rip),%xmm6
  jbe    L379
  subsd  D74(%rip),%xmm0
  jmp    L379
L221:
  subsd  D103(%rip),%xmm0
  jmp    L465
  nopl   (%rax)
L447:
  subsd  D103(%rip),%xmm0
  jmp    L6
  nopl   (%rax)
L353:
  addsd  %xmm2,%xmm0
  jmp    L337
  nopl   0x0(%rax)
L450:
  addsd  %xmm2,%xmm0
  jmp    L44
  nopl   0x0(%rax)
L181:
  movapd %xmm3,%xmm0
  jmp    L135
  nopl   0x0(%rax)
L160:
  movsd  D65(%rip),%xmm2
  movsd  D103(%rip),%xmm3
  movapd %xmm2,%xmm0
  jmp    L354
```

tool_calls: name: read_data
arguments: label: D65
datatype: f64
name: read_data
arguments: label: D95
datatype: f64
name: read_data
arguments: label: D103
datatype: f64[2]
name: read_data
arguments: label: D74
datatype: f64

tool: D65: 0.1

tool: D95: 0.9

tool: {"D103": [0.2,0.9]}

tool: D74: 0.3

assistant: ```c
double ho_recognize_font_1_het(const double *array_in) {
  double return_value = 0.0;
  if ((array_in[17]))
    return_value += 0.1;
  if ((array_in[20]))
    return_value += 0.1;
  if ((array_in[22]))
    return_value += 0.1;
  if (!(array_in[19]))
    return_value += 0.1;
  if ((array_in[10]) < ((array_in[8]) + 0.1))
    return_value += 0.1;
  if ((array_in[14]))
    return_value += 0.1;
  if (!(array_in[17]))
    return_value -= 0.1;
  if (!(array_in[20]))
    return_value -= 0.1;
  if (!(array_in[22]))
    return_value -= 0.1;
  if ((array_in[19]))
    return_value -= 0.2;
  if ((array_in[27]))
    return_value -= 0.2;
  if ((array_in[11]) < 0.9)
    return_value -= 0.2;
  if ((array_in[44]) && (array_in[6]) > 0.2)
    return_value -= 0.3;
  if ((array_in[10]) < ((array_in[8]) + 0.1))
    return_value -= 0.1;
  if (!(array_in[14]))
    return_value -= 0.3;
  if ((array_in[33]))
    return_value -= 0.2;
  if ((array_in[69]))
    return_value -= 0.2;
  if ((array_in[67]))
    return_value -= 0.3;
  if ((array_in[5]) > ((array_in[10]) + 0.1))
    return_value -= 0.1;
  if (!(array_in[57]))
    return_value -= 0.2;
  return return_value;
}
```