user: What would the C source look like for the assembly code provided here:

```asm
<ho_recognize_font_1_pey_sofit>:
  endbr64
  pxor   %xmm1,%xmm1
  ucomisd 0x88(%rdi),%xmm1
  jp     L433
  movapd %xmm1,%xmm0
  jne    L433
L249:
  ucomisd 0xb0(%rdi),%xmm1
  jp     L283
  jne    L283
L442:
  ucomisd 0x120(%rdi),%xmm1
  jp     L360
  jne    L360
L50:
  movsd  0x20(%rdi),%xmm4
  movsd  D147(%rip),%xmm2
  comisd %xmm4,%xmm2
  jbe    L482
  addsd  D53(%rip),%xmm0
L482:
  movsd  0x188(%rdi),%xmm6
  ucomisd %xmm1,%xmm6
  jp     L418
  jne    L418
  ucomisd 0x190(%rdi),%xmm1
  jp     L418
  jne    L418
L90:
  addsd  D53(%rip),%xmm0
L26:
  movsd  (%rdi),%xmm5
  comisd D68(%rip),%xmm5
  jbe    L324
  addsd  D103(%rip),%xmm0
L324:
  ucomisd 0x68(%rdi),%xmm1
  jp     L452
  jne    L452
L8:
  ucomisd 0x98(%rdi),%xmm1
  jp     L25
  movsd  D90(%rip),%xmm2
  jne    L25
L93:
  ucomisd 0xa0(%rdi),%xmm1
  jp     L426
  jne    L426
L351:
  ucomisd 0xa8(%rdi),%xmm1
  jp     L47
  jne    L47
L139:
  movsd  D55(%rip),%xmm3
  ucomisd 0x40(%rdi),%xmm3
  jp     L101
  jne    L101
  subsd  D53(%rip),%xmm0
L101:
  ucomisd 0x228(%rdi),%xmm1
  jp     L128
  jne    L128
L217:
  movsd  D98(%rip),%xmm3
  comisd %xmm3,%xmm4
  jbe    L300
  subsd  %xmm2,%xmm0
L300:
  comisd 0x8(%rdi),%xmm2
  jbe    L78
  subsd  %xmm2,%xmm0
L78:
  ucomisd %xmm1,%xmm6
  jp     L375
  jne    L375
L156:
  comisd %xmm5,%xmm3
  jbe    L448
  subsd  %xmm2,%xmm0
L448:
  comisd %xmm3,%xmm4
  jbe    L196
  subsd  D53(%rip),%xmm0
L196:
  movsd  D181(%rip),%xmm3
  comisd 0x10(%rdi),%xmm3
  jbe    L189
  subsd  %xmm2,%xmm0
L189:
  movsd  D99(%rip),%xmm3
  comisd 0x50(%rdi),%xmm3
  jbe    L140
  subsd  %xmm2,%xmm0
L140:
  ucomisd 0x1c8(%rdi),%xmm1
  jp     L154
  jne    L154
  subsd  D53(%rip),%xmm0
L154:
  ucomisd 0x1c0(%rdi),%xmm1
  jp     L129
  jne    L129
  ret
  nopl   0x0(%rax,%rax,1)
L418:
  ucomisd 0x1d0(%rdi),%xmm1
  jp     L90
  je     L26
  addsd  D53(%rip),%xmm0
  jmp    L26
  nopl   0x0(%rax)
L129:
  subsd  D53(%rip),%xmm0
  ret
  nopl   0x0(%rax)
L360:
  addsd  D103(%rip),%xmm0
  jmp    L50
  nopl   (%rax)
L375:
  ucomisd 0x1d0(%rdi),%xmm1
  jp     L156
  jne    L156
  subsd  %xmm2,%xmm0
  jmp    L156
  nopl   (%rax)
L128:
  subsd  %xmm2,%xmm0
  jmp    L217
  nopl   0x0(%rax)
L283:
  addsd  D103(%rip),%xmm0
  jmp    L442
  nopl   (%rax)
L433:
  movsd  D103(%rip),%xmm0
  jmp    L249
  nopl   (%rax)
L47:
  subsd  D103(%rip),%xmm0
  jmp    L139
  nopl   (%rax)
L426:
  subsd  %xmm2,%xmm0
  jmp    L351
  nopl   0x0(%rax)
L25:
  movsd  D90(%rip),%xmm2
  subsd  %xmm2,%xmm0
  jmp    L93
  nopl   0x0(%rax)
L452:
  addsd  D103(%rip),%xmm0
  jmp    L8
```

tool_calls: name: read_data
arguments: data_label: D147
data_type: f64
name: read_data
arguments: data_label: D53
data_type: f64
name: read_data
arguments: data_label: D68
data_type: f64[2]
name: read_data
arguments: data_label: D103
data_type: f64
name: read_data
arguments: data_label: D90
data_type: f64
name: read_data
arguments: data_label: D55
data_type: f64
name: read_data
arguments: data_label: D98
data_type: f64
name: read_data
arguments: data_label: D181
data_type: f64
name: read_data
arguments: data_label: D99
data_type: f64

tool: D147: 0.47

tool: D53: 0.2

tool: {"D68": [0.51,0.3]}

tool: D103: 0.1

tool: D90: 0.3

tool: D55: 1

tool: D98: 0.5

tool: D181: 0.45

tool: D99: 0.75

assistant: ```c
double ho_recognize_font_1_pey_sofit(const double *array_in) {
  double return_value = 0.0;
  if ((array_in[17]))
    return_value += 0.1;
  if ((array_in[22]))
    return_value += 0.1;
  if ((array_in[36]))
    return_value += 0.1;
  if ((array_in[4]) < 0.47)
    return_value += 0.2;
  if ((!(array_in[49]) && !(array_in[50])) || (array_in[58]))
    return_value += 0.2;
  if ((array_in[0]) > 0.51)
    return_value += 0.1;
  if ((array_in[13]))
    return_value += 0.1;
  if ((array_in[19]))
    return_value -= 0.3;
  if ((array_in[20]))
    return_value -= 0.3;
  if ((array_in[21]))
    return_value -= 0.1;
  if ((array_in[8]) == 1.0)
    return_value -= 0.2;
  if ((array_in[69]))
    return_value -= 0.3;
  if ((array_in[4]) > 0.50)
    return_value -= 0.3;
  if ((array_in[1]) < 0.3)
    return_value -= 0.3;
  if ((array_in[49]) && !(array_in[58]))
    return_value -= 0.3;
  if ((array_in[0]) < 0.5)
    return_value -= 0.3;
  if ((array_in[4]) > 0.50)
    return_value -= 0.2;
  if ((array_in[2]) < 0.45)
    return_value -= 0.3;
  if ((array_in[10]) < 0.75)
    return_value -= 0.3;
  if (!(array_in[57]))
    return_value -= 0.2;
  if ((array_in[56]))
    return_value -= 0.2;
  return return_value;
}
```