user: 请将这段汇编代码片段转换成等效的C代码:

```asm
<interp2_k_lagrange7>:
  endbr64
  movapd %xmm0,%xmm1
  comisd D41(%rip),%xmm0
  jb     L76
  movsd  D20(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L76
  movapd %xmm1,%xmm0
  mulsd  D244(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm1,%xmm2
  mulsd  D287(%rip),%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  addsd  %xmm2,%xmm0
  movapd %xmm1,%xmm2
  mulsd  D266(%rip),%xmm2
  mulsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  addsd  D73(%rip),%xmm0
  ret
L76:
  comisd D20(%rip),%xmm1
  jb     L13
  movsd  D29(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L13
  movapd %xmm1,%xmm2
  mulsd  D224(%rip),%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  movapd %xmm1,%xmm0
  mulsd  D314(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm2,%xmm3
  mulsd  %xmm1,%xmm3
  addsd  %xmm3,%xmm0
  subsd  %xmm2,%xmm0
  movapd %xmm1,%xmm2
  mulsd  D186(%rip),%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  addsd  %xmm2,%xmm0
  movapd %xmm1,%xmm2
  mulsd  D248(%rip),%xmm2
  mulsd  %xmm1,%xmm2
  addsd  %xmm2,%xmm0
  mulsd  D56(%rip),%xmm1
  addsd  %xmm1,%xmm0
  addsd  D73(%rip),%xmm0
  ret
L13:
  comisd D29(%rip),%xmm1
  jb     L29
  movsd  D81(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L29
  movapd %xmm1,%xmm0
  mulsd  D283(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm1,%xmm2
  mulsd  D92(%rip),%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  addsd  %xmm2,%xmm0
  movapd %xmm1,%xmm2
  mulsd  D277(%rip),%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  addsd  %xmm2,%xmm0
  movapd %xmm1,%xmm2
  mulsd  D147(%rip),%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  addsd  %xmm2,%xmm0
  movapd %xmm1,%xmm2
  mulsd  D221(%rip),%xmm2
  mulsd  %xmm1,%xmm2
  addsd  %xmm2,%xmm0
  mulsd  D122(%rip),%xmm1
  addsd  %xmm1,%xmm0
  addsd  D73(%rip),%xmm0
  ret
L29:
  comisd D81(%rip),%xmm1
  jb     L5
  movsd  D270(%rip),%xmm0
  comisd %xmm1,%xmm0
  jbe    L5
  movapd %xmm1,%xmm0
  mulsd  D82(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm0
  movapd %xmm1,%xmm2
  mulsd  D111(%rip),%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  addsd  %xmm2,%xmm0
  movapd %xmm1,%xmm2
  mulsd  D204(%rip),%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  addsd  %xmm2,%xmm0
  movapd %xmm1,%xmm2
  mulsd  D112(%rip),%xmm2
  mulsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm2
  addsd  %xmm2,%xmm0
  movapd %xmm1,%xmm2
  mulsd  D249(%rip),%xmm2
  mulsd  %xmm1,%xmm2
  addsd  %xmm2,%xmm0
  mulsd  D298(%rip),%xmm1
  addsd  %xmm1,%xmm0
  addsd  D73(%rip),%xmm0
  ret
L5:
  pxor   %xmm0,%xmm0
  ret
```

tool_calls: name: retrieve_data
arguments: data_tag: D41
type_guessed: f64[2]
name: retrieve_data
arguments: data_tag: D20
type_guessed: f64[2]
name: retrieve_data
arguments: data_tag: D244
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D287
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D266
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D73
type_guessed: f64
name: retrieve_data
arguments: data_tag: D29
type_guessed: f64[2]
name: retrieve_data
arguments: data_tag: D224
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D314
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D186
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D248
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D56
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D81
type_guessed: f64[2]
name: retrieve_data
arguments: data_tag: D283
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D92
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D277
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D147
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D221
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D122
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D270
type_guessed: f64
name: retrieve_data
arguments: data_tag: D82
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D111
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D204
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D112
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D249
type_guessed: byte[8]
name: retrieve_data
arguments: data_tag: D298
type_guessed: byte[8]

tool: {"D41": [0.0,0.5]}

tool: {"D20": [0.5,-0.027777777777777776]}

tool: {"D244": [0x1c,0xc7,0x71,0x1c,0xc7,0x71,0x9c,0xbf]}

tool: {"D287": [0x39,0x8e,0xe3,0x38,0x8e,0xe3,0xd8,0x3f]}

tool: {"D266": [0x72,0x1c,0xc7,0x71,0x1c,0xc7,0xf5,0xbf]}

tool: D73: 1

tool: {"D29": [1.5,-0.14583333333333334]}

tool: {"D224": [0xab,0xaa,0xaa,0xaa,0xaa,0xaa,0xc2,0xbf]}

tool: {"D314": [0x55,0x55,0x55,0x55,0x55,0x55,0x95,0x3f]}

tool: {"D186": [0x55,0x55,0x55,0x55,0x55,0x55,0xe7,0x3f]}

tool: {"D248": [0xab,0xaa,0xaa,0xaa,0xaa,0xaa,0xf2,0xbf]}

tool: {"D56": [0x55,0x55,0x55,0x55,0x55,0x55,0xe3,0xbf]}

tool: {"D81": [2.5,-0.008333333333333333]}

tool: {"D283": [0x11,0x11,0x11,0x11,0x11,0x11,0x81,0xbf]}

tool: {"D92": [0xde,0xdd,0xdd,0xdd,0xdd,0xdd,0xbd,0x3f]}

tool: {"D277": [0xab,0xaa,0xaa,0xaa,0xaa,0xaa,0xe2,0xbf]}

tool: {"D147": [0xab,0xaa,0xaa,0xaa,0xaa,0xaa,0xf2,0x3f]}

tool: {"D221": [0x22,0x22,0x22,0x22,0x22,0x22,0xda,0xbf]}

tool: {"D122": [0x89,0x88,0x88,0x88,0x88,0x88,0xf4,0xbf]}

tool: D270: 3.5

tool: {"D82": [0x17,0x6c,0xc1,0x16,0x6c,0xc1,0x56,0x3f]}

tool: {"D111": [0xde,0xdd,0xdd,0xdd,0xdd,0xdd,0x9d,0xbf]}

tool: {"D204": [0xc7,0x71,0x1c,0xc7,0x71,0x1c,0xcf,0x3f]}

tool: {"D112": [0x55,0x55,0x55,0x55,0x55,0x55,0xf0,0xbf]}

tool: {"D249": [0xb6,0x60,0x0b,0xb6,0x60,0x0b,0x02,0x40]}

tool: {"D298": [0x9a,0x99,0x99,0x99,0x99,0x99,0x03,0xc0]}

assistant: ```c
double interp2_k_lagrange7(double x) {
  double result = 0.0;
  if ((x >= 0.0) & (x < 0.5)) {
    result = ((-1.0 / 36.0) * x * x * x * x * x * x) + ((14.0 / 36.0) * x * x * x * x) + ((-49.0 / 36.0) * x * x) + 1.0;
  } else if ((x >= 0.5) & (x < 1.5)) {
    result = ((1.0 / 48.0) * x * x * x * x * x * x) + ((-7.0 / 48.0) * x * x * x * x * x) + ((7.0 / 48.0) * x * x * x * x) + ((35.0 / 48.0) * x * x * x) + ((-56.0 / 48.0) * x * x) + ((-29.0 / 48.0) * x) + 1.0;
  } else if ((x >= 1.5) & (x < 2.5)) {
    result = ((-1.0 / 120.0) * x * x * x * x * x * x) + ((14.0 / 120.0) * x * x * x * x * x) + ((-70.0 / 120.0) * x * x * x * x) + ((140.0 / 120.0) * x * x * x) + ((-49.0 / 120.0) * x * x) + ((-154.0 / 120.0) * x) + 1.0;
  } else if ((x >= 2.5) & (x < 3.5)) {
    result = ((1.0 / 720.0) * x * x * x * x * x * x) + ((-21.0 / 720.0) * x * x * x * x * x) + ((175.0 / 720.0) * x * x * x * x) + ((-735.0 / 720.0) * x * x * x) + ((1624.0 / 720.0) * x * x) + ((-1764.0 / 720.0) * x) + 1.0;
  }
  return result;
}
```