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

```asm
<humanize_bytes>:
  endbr64
  push   %r12
  push   %rbp
  push   %rbx
  mov    %rdi,%rbp
  mov    %esi,%r12d
  mov    %rdx,%rbx
  mov    %esi,%edx
  mov    $0x0,%esi
  call   <memset@plt>
  test   %rbx,%rbx
  js     L61
  pxor   %xmm0,%xmm0
  cvtsi2sd %rbx,%xmm0
L85:
  comisd D131(%rip),%xmm0
  ja     L74
  comisd D86(%rip),%xmm0
  ja     L148
  comisd D144(%rip),%xmm0
  ja     L75
  comisd D95(%rip),%xmm0
  jbe    L81
  mulsd  D34(%rip),%xmm0
  comisd D186(%rip),%xmm0
  jae    L92
  cvttsd2si %xmm0,%rcx
L17:
  lea    D189(%rip),%rdx
  mov    %r12d,%esi
  mov    %rbp,%rdi
  call   <snprintf@plt>
  jmp    L52
L61:
  mov    %rbx,%rax
  shr    %rax
  mov    %rbx,%rdx
  and    $0x1,%edx
  or     %rdx,%rax
  pxor   %xmm0,%xmm0
  cvtsi2sd %rax,%xmm0
  addsd  %xmm0,%xmm0
  jmp    L85
L74:
  mulsd  D184(%rip),%xmm0
  comisd D186(%rip),%xmm0
  jae    L86
  cvttsd2si %xmm0,%rcx
L165:
  lea    D23(%rip),%rdx
  mov    %r12d,%esi
  mov    %rbp,%rdi
  call   <snprintf@plt>
L52:
  pop    %rbx
  pop    %rbp
  pop    %r12
  ret
L86:
  subsd  D186(%rip),%xmm0
  cvttsd2si %xmm0,%rcx
  btc    $0x3f,%rcx
  jmp    L165
L148:
  mulsd  D72(%rip),%xmm0
  comisd D186(%rip),%xmm0
  jae    L62
  cvttsd2si %xmm0,%rcx
L146:
  lea    D111(%rip),%rdx
  mov    %r12d,%esi
  mov    %rbp,%rdi
  call   <snprintf@plt>
  jmp    L52
L62:
  subsd  D186(%rip),%xmm0
  cvttsd2si %xmm0,%rcx
  btc    $0x3f,%rcx
  jmp    L146
L75:
  mulsd  D120(%rip),%xmm0
  comisd D186(%rip),%xmm0
  jae    L168
  cvttsd2si %xmm0,%rcx
L95:
  lea    D172(%rip),%rdx
  mov    %r12d,%esi
  mov    %rbp,%rdi
  call   <snprintf@plt>
  jmp    L52
L168:
  subsd  D186(%rip),%xmm0
  cvttsd2si %xmm0,%rcx
  btc    $0x3f,%rcx
  jmp    L95
L92:
  subsd  D186(%rip),%xmm0
  cvttsd2si %xmm0,%rcx
  btc    $0x3f,%rcx
  jmp    L17
L81:
  mov    %rbx,%rcx
  lea    D112(%rip),%rdx
  mov    %r12d,%esi
  mov    %rbp,%rdi
  call   <snprintf@plt>
  jmp    L52
```

tool_calls: name: unpack_data
arguments: data_label: D131
type_infered: f64[2]
name: unpack_data
arguments: data_label: D86
type_infered: f64[2]
name: unpack_data
arguments: data_label: D144
type_infered: f64[2]
name: unpack_data
arguments: data_label: D95
type_infered: f64[2]
name: unpack_data
arguments: data_label: D34
type_infered: byte[8]
name: unpack_data
arguments: data_label: D186
type_infered: byte[16]
name: unpack_data
arguments: data_label: D189
type_infered: string
name: unpack_data
arguments: data_label: D184
type_infered: byte[8]
name: unpack_data
arguments: data_label: D23
type_infered: string
name: unpack_data
arguments: data_label: D72
type_infered: byte[8]
name: unpack_data
arguments: data_label: D111
type_infered: string
name: unpack_data
arguments: data_label: D120
type_infered: byte[8]
name: unpack_data
arguments: data_label: D172
type_infered: string
name: unpack_data
arguments: data_label: D112
type_infered: string

tool: {"D131": [1099511627776.0,9.094947017729282e-13]}

tool: {"D86": [1073741824.0,9.313225746154785e-10]}

tool: {"D144": [1048576.0,9.5367431640625e-7]}

tool: {"D95": [1024.0,0.0009765625]}

tool: {"D34": [0x00,0x00,0x00,0x00,0x00,0x00,0x50,0x3f]}

tool: {"D186": [0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x43,0x00,0x00,0x00,0x00,0x00,0x00,0xd0,0x41]}

tool: D189: %.2f KiB

tool: {"D184": [0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x3d]}

tool: D23: %.2f TiB

tool: {"D72": [0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x3e]}

tool: D111: %.2f GiB

tool: {"D120": [0x00,0x00,0x00,0x00,0x00,0x00,0xb0,0x3e]}

tool: D172: %.2f MiB

tool: D112: %llu Bytes

assistant: ```c
void humanize_bytes(char buf[], int bufsize, unsigned long long n) {
  double b;
  memset(buf, 0, bufsize);
  b = (double)n;
  if (b > 1099511627776.0)
    snprintf(buf, bufsize, "%.2f TiB", b / 1099511627776.0);
  else if (b > 1073741824.0)
    snprintf(buf, bufsize, "%.2f GiB", b / 1073741824.0);
  else if (b > 1048576.0)
    snprintf(buf, bufsize, "%.2f MiB", b / 1048576.0);
  else if (b > 1024.0)
    snprintf(buf, bufsize, "%.2f KiB", b / 1024.0);
  else
    snprintf(buf, bufsize, "%llu Bytes", n);
}
```