user: What is the c source code of the assembly code below?

```asm
<smart_sprint_time>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  push   %r12
  push   %rbx
  sub    $0x10,%rsp
  movsd  %xmm0,-0x18(%rbp)
  movsd  D153(%rip),%xmm0
  comisd -0x18(%rbp),%xmm0
  jbe    L36
  movsd  -0x18(%rbp),%xmm1
  movsd  D38(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  cvttsd2si %xmm0,%eax
  mov    %eax,%edx
  lea    D2(%rip),%rax
  mov    %rax,%rsi
  lea    D131(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <sprintf@plt>
  jmp    L64
L36:
  movsd  D125(%rip),%xmm0
  comisd -0x18(%rbp),%xmm0
  jbe    L28
  movsd  -0x18(%rbp),%xmm1
  movsd  D161(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  cvttsd2si %xmm0,%eax
  mov    %eax,%edx
  lea    D162(%rip),%rax
  mov    %rax,%rsi
  lea    D131(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <sprintf@plt>
  jmp    L64
L28:
  movsd  D148(%rip),%xmm0
  comisd -0x18(%rbp),%xmm0
  jbe    L3
  movsd  -0x18(%rbp),%xmm1
  movsd  D62(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  cvttsd2si %xmm0,%eax
  mov    %eax,%edx
  lea    D141(%rip),%rax
  mov    %rax,%rsi
  lea    D131(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <sprintf@plt>
  jmp    L64
L3:
  movsd  D173(%rip),%xmm0
  comisd -0x18(%rbp),%xmm0
  jbe    L49
  movsd  -0x18(%rbp),%xmm0
  cvttsd2si %xmm0,%eax
  mov    %eax,%edx
  lea    D1(%rip),%rax
  mov    %rax,%rsi
  lea    D131(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <sprintf@plt>
  jmp    L64
L49:
  movsd  -0x18(%rbp),%xmm0
  cvttsd2si %xmm0,%eax
  movslq %eax,%rdx
  imul   $0xffffffff88888889,%rdx,%rdx
  shr    $0x20,%rdx
  add    %eax,%edx
  sar    $0x5,%edx
  mov    %eax,%ecx
  sar    $0x1f,%ecx
  sub    %ecx,%edx
  mov    %edx,%r12d
  imul   $0x3c,%r12d,%edx
  sub    %edx,%eax
  mov    %eax,%r12d
  movsd  -0x18(%rbp),%xmm0
  cvttsd2si %xmm0,%eax
  movslq %eax,%rdx
  imul   $0xffffffff88888889,%rdx,%rdx
  shr    $0x20,%rdx
  add    %eax,%edx
  sar    $0x5,%edx
  sar    $0x1f,%eax
  mov    %eax,%ecx
  mov    %edx,%eax
  sub    %ecx,%eax
  movslq %eax,%rdx
  imul   $0xffffffff88888889,%rdx,%rdx
  shr    $0x20,%rdx
  add    %eax,%edx
  sar    $0x5,%edx
  mov    %eax,%ecx
  sar    $0x1f,%ecx
  mov    %edx,%ebx
  sub    %ecx,%ebx
  imul   $0x3c,%ebx,%edx
  sub    %edx,%eax
  mov    %eax,%ebx
  movsd  -0x18(%rbp),%xmm0
  movsd  D160(%rip),%xmm1
  divsd  %xmm1,%xmm0
  movq   %xmm0,%rax
  movq   %rax,%xmm0
  call   <floor@plt>
  mov    %r12d,%r8d
  mov    %ebx,%ecx
  mov    %eax,%edx
  lea    D39(%rip),%rax
  mov    %rax,%rsi
  lea    D131(%rip),%rax
  mov    %rax,%rdi
  mov    $0x0,%eax
  call   <sprintf@plt>
L64:
  lea    D131(%rip),%rax
  add    $0x10,%rsp
  pop    %rbx
  pop    %r12
  pop    %rbp
  ret
```

tool_calls: name: parse_data
arguments: data_label: D153
type_guessed: byte[8]
name: parse_data
arguments: data_label: D38
type_guessed: f64
name: parse_data
arguments: data_label: D2
type_guessed: string
name: parse_data
arguments: data_label: D125
type_guessed: byte[8]
name: parse_data
arguments: data_label: D161
type_guessed: f64
name: parse_data
arguments: data_label: D162
type_guessed: string
name: parse_data
arguments: data_label: D148
type_guessed: f64
name: parse_data
arguments: data_label: D62
type_guessed: f64
name: parse_data
arguments: data_label: D141
type_guessed: string
name: parse_data
arguments: data_label: D173
type_guessed: f64
name: parse_data
arguments: data_label: D1
type_guessed: string
name: parse_data
arguments: data_label: D160
type_guessed: f64
name: parse_data
arguments: data_label: D39
type_guessed: string

tool: {"D153": [0x8d,0xed,0xb5,0xa0,0xf7,0xc6,0xb0,0x3e]}

tool: D38: 1000000000

tool: D2: %f ns

tool: {"D125": [0xfc,0xa9,0xf1,0xd2,0x4d,0x62,0x50,0x3f]}

tool: D161: 1000000

tool: D162: %f us

tool: D148: 1

tool: D62: 1000

tool: D141: %f ms

tool: D173: 60

tool: D1: %f s

tool: D160: 3600

tool: D39: %d h %d m %d s

assistant: ```c
char *smart_sprint_time(double x) {
  static char buf[128];
  if (x < 1.0E-6)
    sprintf(buf, "%f ns", x * 1.0E9);
  else if (x < 1.0E-3)
    sprintf(buf, "%f us", x * 1.0E6);
  else if (x < 1.0)
    sprintf(buf, "%f ms", x * 1.0E3);
  else if (x < 60.0)
    sprintf(buf, "%f s", x);
  else
    sprintf(buf, "%d h %d m %d s", (int)floor(x / 3600.0), ((int)x / 60 % 60), ((int)x % 60));
  return buf;
}
```