user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<main>:
  endbr64
  sub    $0x18,%rsp
  lea    D96(%rip),%rdi
  mov    %fs:0x28,%rax
  mov    %rax,0x8(%rsp)
  xor    %eax,%eax
  call   <printf@plt>
  lea    0x4(%rsp),%rdx
  mov    %rsp,%rsi
  lea    D119(%rip),%rdi
  call   <scanf@plt>
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sdl (%rsp),%xmm0
  cvtsi2sdl 0x4(%rsp),%xmm1
  divsd  D92(%rip),%xmm1
  addsd  %xmm0,%xmm1
  movapd %xmm2,%xmm0
  comisd %xmm2,%xmm1
  jbe    L57
  movsd  D14(%rip),%xmm3
  comisd %xmm3,%xmm1
  jae    L6
  movsd  D89(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  addsd  %xmm2,%xmm0
L64:
  subsd  %xmm3,%xmm1
  comisd %xmm2,%xmm1
  jbe    L57
  movsd  D105(%rip),%xmm3
  comisd %xmm3,%xmm1
  jae    L60
  movsd  D86(%rip),%xmm4
  mulsd  %xmm1,%xmm4
  addsd  %xmm4,%xmm0
L28:
  subsd  %xmm3,%xmm1
  comisd %xmm2,%xmm1
  jbe    L57
  subsd  D68(%rip),%xmm1
  comisd %xmm2,%xmm1
  jbe    L57
  mulsd  D15(%rip),%xmm1
  addsd  %xmm1,%xmm0
  nopl   0x0(%rax,%rax,1)
L57:
  lea    D59(%rip),%rdi
  mov    $0x1,%eax
  call   <printf@plt>
  mov    0x8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L36
  xor    %eax,%eax
  add    $0x18,%rsp
  ret
L6:
  movsd  D62(%rip),%xmm0
  jmp    L64
L60:
  addsd  D73(%rip),%xmm0
  jmp    L28
L36:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D96
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D119
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D92
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D14
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_label: D89
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_label: D105
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D86
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_label: D68
type_guessed: f64
name: extract_symbolic_data
arguments: data_label: D15
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_label: D59
type_guessed: string
name: extract_symbolic_data
arguments: data_label: D62
type_guessed: byte[8]
name: extract_symbolic_data
arguments: data_label: D73
type_guessed: byte[8]

tool: D96: Sati, minuti? 

tool: D119: %d %d

tool: D92: 60

tool: {"D14": [0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40]}

tool: {"D89": [0x00,0x00,0x00,0x00,0x00,0x00,0x5e,0x40]}

tool: D105: 2.5

tool: {"D86": [0x00,0x00,0x00,0x00,0x00,0x80,0x56,0x40]}

tool: D68: 0.5

tool: {"D15": [0x00,0x00,0x00,0x00,0x00,0xc0,0x52,0x40]}

tool: D59: Predjeni put je: %lfkm

tool: {"D62": [0x00,0x00,0x00,0x00,0x00,0x00,0x6e,0x40]}

tool: {"D73": [0x00,0x00,0x00,0x00,0x00,0x20,0x6c,0x40]}

assistant: ```c
int main() {
  int sati, minuti;
  double vreme, put;
  printf("Sati, minuti? ");
  scanf("%d %d", &sati, &minuti);
  vreme = (double)sati + (minuti / 60.0);
  put = 0;
  if (vreme > 0) {
    if (vreme >= 2)
      put += 2 * 120;
    else
      put += vreme * 120;
    vreme -= 2;
    if (vreme > 0) {
      if (vreme >= 2.5)
        put += 2.5 * 90;
      else
        put += vreme * 90;
      vreme -= 2.5;
      if (vreme > 0) {
        vreme -= 0.5;
        if (vreme > 0) {
          put += vreme * 75;
        }
      }
    }
  }
  printf("Predjeni put je: %lfkm", put);
  return 0;
}
```