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

```asm
<q3>:
  endbr64
  movapd %xmm0,%xmm1
  movsd  D37(%rip),%xmm0
  comisd %xmm1,%xmm0
  jae    L61
  sub    $0x18,%rsp
  comisd %xmm0,%xmm1
  movsd  D67(%rip),%xmm0
  ja     L68
L21:
  comisd %xmm0,%xmm1
  movsd  D103(%rip),%xmm0
  jbe    L6
  comisd %xmm1,%xmm0
  jae    L70
L6:
  comisd %xmm0,%xmm1
  jbe    L54
  movsd  D185(%rip),%xmm0
  comisd %xmm1,%xmm0
  jb     L54
  mov    $0x2,%edi
  movapd %xmm1,%xmm0
  movsd  %xmm1,(%rsp)
  call   <pow@plt>
  movsd  (%rsp),%xmm1
  mov    $0x3,%edi
  movsd  D68(%rip),%xmm2
  mulsd  D49(%rip),%xmm0
  mulsd  %xmm1,%xmm2
  movsd  %xmm1,0x8(%rsp)
  subsd  D144(%rip),%xmm2
  subsd  %xmm0,%xmm2
  movapd %xmm1,%xmm0
  movsd  %xmm2,(%rsp)
  call   <pow@plt>
  movsd  (%rsp),%xmm2
  movsd  0x8(%rsp),%xmm1
  mov    $0x4,%edi
  mulsd  D26(%rip),%xmm0
  addsd  %xmm0,%xmm2
  movapd %xmm1,%xmm0
  movsd  %xmm2,(%rsp)
  call   <pow@plt>
  movsd  D153(%rip),%xmm1
  movsd  (%rsp),%xmm2
  mulsd  %xmm0,%xmm1
  subsd  %xmm1,%xmm2
  movapd %xmm2,%xmm0
  jmp    L81
  nopl   (%rax)
L61:
  movsd  D57(%rip),%xmm0
  ret
  nopl   0x0(%rax)
L68:
  comisd %xmm1,%xmm0
  jb     L21
  mov    $0x2,%edi
  movapd %xmm1,%xmm0
  movsd  %xmm1,(%rsp)
  call   <pow@plt>
  movsd  (%rsp),%xmm1
  mov    $0x3,%edi
  movsd  D207(%rip),%xmm2
  mulsd  D53(%rip),%xmm0
  mulsd  %xmm1,%xmm2
  movsd  %xmm1,0x8(%rsp)
  subsd  D17(%rip),%xmm2
  subsd  %xmm0,%xmm2
  movapd %xmm1,%xmm0
  movsd  %xmm2,(%rsp)
  call   <pow@plt>
  movsd  (%rsp),%xmm2
  movsd  0x8(%rsp),%xmm1
  mov    $0x4,%edi
  mulsd  D190(%rip),%xmm0
  addsd  %xmm0,%xmm2
  movapd %xmm1,%xmm0
  movsd  %xmm2,(%rsp)
  call   <pow@plt>
  movsd  D176(%rip),%xmm1
  movsd  (%rsp),%xmm2
  mulsd  %xmm0,%xmm1
  subsd  %xmm1,%xmm2
  movapd %xmm2,%xmm0
  jmp    L81
L54:
  movsd  D16(%rip),%xmm0
L81:
  add    $0x18,%rsp
  ret
  nopl   (%rax)
L70:
  mov    $0x2,%edi
  movapd %xmm1,%xmm0
  movsd  %xmm1,(%rsp)
  call   <pow@plt>
  movsd  (%rsp),%xmm1
  movsd  D119(%rip),%xmm3
  mov    $0x3,%edi
  mulsd  D112(%rip),%xmm0
  movsd  D13(%rip),%xmm2
  mulsd  %xmm1,%xmm3
  subsd  %xmm3,%xmm2
  subsd  %xmm0,%xmm2
  movapd %xmm1,%xmm0
  movsd  %xmm2,(%rsp)
  call   <pow@plt>
  mulsd  D81(%rip),%xmm0
  addsd  (%rsp),%xmm0
  subsd  D204(%rip),%xmm0
  jmp    L81
```

tool_calls: name: retrieve_data
arguments: label: D37
type: byte[8]
name: retrieve_data
arguments: label: D67
type: f64
name: retrieve_data
arguments: label: D103
type: f64
name: retrieve_data
arguments: label: D185
type: byte[8]
name: retrieve_data
arguments: label: D68
type: f64
name: retrieve_data
arguments: label: D49
type: f64
name: retrieve_data
arguments: label: D144
type: f64
name: retrieve_data
arguments: label: D26
type: f64
name: retrieve_data
arguments: label: D153
type: f64
name: retrieve_data
arguments: label: D57
type: byte[8]
name: retrieve_data
arguments: label: D207
type: f64
name: retrieve_data
arguments: label: D53
type: f64
name: retrieve_data
arguments: label: D17
type: f64
name: retrieve_data
arguments: label: D190
type: f64
name: retrieve_data
arguments: label: D176
type: f64
name: retrieve_data
arguments: label: D16
type: byte[8]
name: retrieve_data
arguments: label: D119
type: f64
name: retrieve_data
arguments: label: D112
type: f64
name: retrieve_data
arguments: label: D13
type: byte[8]
name: retrieve_data
arguments: label: D81
type: f64
name: retrieve_data
arguments: label: D204
type: byte[8]

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

tool: D67: 6.9

tool: D103: 7.1

tool: {"D185": [0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x40]}

tool: D68: 3262.031

tool: D49: 499.494

tool: D144: 7698.19

tool: D26: 33.1551

tool: D153: 0.810613

tool: {"D57": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3f]}

tool: D207: 41.91277

tool: D53: 15.7043

tool: D17: 37.1085

tool: D190: 2.417486

tool: D176: 0.091252

tool: {"D16": [0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x40]}

tool: D119: 21.4593

tool: D112: 68.4561

tool: {"D13": [0x4a,0x7b,0x83,0x2f,0x4c,0xc6,0x12,0xc0]}

tool: D81: 21.638886

tool: {"D204": [0xba,0xda,0x8a,0xfd,0x65,0x77,0x19,0x40]}

assistant: ```c
double q3(double c) {
  double q3;
  if (c <= 2) {
    q3 = 1;
  } else if (c > 2 && c <= 6.9) {
    q3 = -37.1085 + 41.91277 * c - 15.7043 * pow(c, 2) + 2.417486 * pow(c, 3) - 0.091252 * pow(c, 4);
  } else if (c > 6.9 && c <= 7.1) {
    q3 = -4.69365 - 21.4593 * c - 68.4561 * pow(c, 2) + 21.638886 * pow(c, 3) - 1.59165 * (c, 4);
  } else if (c > 7.1 && c <= 12) {
    q3 = -7698.19 + 3262.031 * c - 499.494 * pow(c, 2) + 33.1551 * pow(c, 3) - 0.810613 * pow(c, 4);
  } else {
    q3 = 3;
  }
  return q3;
}
```