user: Demonstrate the C code that generates the assembly output below:

```asm
<GetEarthNutationParameter>:
  endbr64
  mulsd  D106(%rip),%xmm0
  movsd  D187(%rip),%xmm4
  movsd  D75(%rip),%xmm2
  mulsd  %xmm0,%xmm2
  movapd %xmm0,%xmm1
  movapd %xmm0,%xmm3
  mulsd  %xmm0,%xmm1
  addsd  D90(%rip),%xmm2
  mulsd  %xmm1,%xmm4
  mulsd  %xmm1,%xmm3
  subsd  %xmm4,%xmm2
  movapd %xmm3,%xmm4
  divsd  D174(%rip),%xmm4
  addsd  %xmm4,%xmm2
  movsd  D36(%rip),%xmm4
  mulsd  %xmm1,%xmm4
  movsd  %xmm2,(%rdi)
  movsd  D205(%rip),%xmm2
  mulsd  %xmm0,%xmm2
  addsd  D68(%rip),%xmm2
  subsd  %xmm4,%xmm2
  movapd %xmm3,%xmm4
  divsd  D101(%rip),%xmm4
  subsd  %xmm4,%xmm2
  movsd  D15(%rip),%xmm4
  mulsd  %xmm1,%xmm4
  movsd  %xmm2,(%rsi)
  movsd  D180(%rip),%xmm2
  mulsd  %xmm0,%xmm2
  addsd  D5(%rip),%xmm2
  addsd  %xmm4,%xmm2
  movapd %xmm3,%xmm4
  divsd  D13(%rip),%xmm4
  addsd  %xmm4,%xmm2
  movsd  D177(%rip),%xmm4
  mulsd  %xmm1,%xmm4
  movsd  %xmm2,(%rdx)
  movsd  D99(%rip),%xmm2
  mulsd  D43(%rip),%xmm1
  mulsd  %xmm0,%xmm2
  addsd  D52(%rip),%xmm2
  mulsd  D100(%rip),%xmm0
  subsd  %xmm4,%xmm2
  movapd %xmm3,%xmm4
  divsd  D109(%rip),%xmm4
  divsd  D143(%rip),%xmm3
  addsd  %xmm4,%xmm2
  movsd  %xmm2,(%rcx)
  movsd  D34(%rip),%xmm2
  subsd  %xmm0,%xmm2
  movapd %xmm2,%xmm0
  addsd  %xmm1,%xmm0
  addsd  %xmm3,%xmm0
  movsd  %xmm0,(%r8)
  ret
```

tool_calls: name: unpack_data
arguments: tag: D106
type_infered: f64
name: unpack_data
arguments: tag: D187
type_infered: f64
name: unpack_data
arguments: tag: D75
type_infered: f64
name: unpack_data
arguments: tag: D90
type_infered: f64
name: unpack_data
arguments: tag: D174
type_infered: f64
name: unpack_data
arguments: tag: D36
type_infered: f64
name: unpack_data
arguments: tag: D205
type_infered: f64
name: unpack_data
arguments: tag: D68
type_infered: f64
name: unpack_data
arguments: tag: D101
type_infered: f64
name: unpack_data
arguments: tag: D15
type_infered: f64
name: unpack_data
arguments: tag: D180
type_infered: f64
name: unpack_data
arguments: tag: D5
type_infered: f64
name: unpack_data
arguments: tag: D13
type_infered: f64
name: unpack_data
arguments: tag: D177
type_infered: f64
name: unpack_data
arguments: tag: D99
type_infered: f64
name: unpack_data
arguments: tag: D43
type_infered: f64
name: unpack_data
arguments: tag: D52
type_infered: f64
name: unpack_data
arguments: tag: D100
type_infered: f64
name: unpack_data
arguments: tag: D109
type_infered: f64
name: unpack_data
arguments: tag: D143
type_infered: f64
name: unpack_data
arguments: tag: D34
type_infered: f64

tool: D106: 10

tool: D187: 0.0019142

tool: D75: 445267.11148

tool: D90: 297.85036

tool: D174: 189474

tool: D36: 0.0001603

tool: D205: 35999.05034

tool: D68: 357.52772

tool: D101: 300000

tool: D15: 0.0086972

tool: D180: 477198.867398

tool: D5: 134.96298

tool: D13: 56250

tool: D177: 0.0036825

tool: D99: 483202.017538

tool: D43: 0.0020708

tool: D52: 93.27191

tool: D100: 1934.136261

tool: D109: 327270

tool: D143: 450000

tool: D34: 125.04452

assistant: ```c
void GetEarthNutationParameter(double dt, double *D, double *M, double *Mp, double *F, double *Omega) {
  double T = dt * 10;
  double T2 = T * T;
  double T3 = T2 * T;
  *D = 297.85036 + 445267.111480 * T - 0.0019142 * T2 + T3 / 189474.0;
  *M = 357.52772 + 35999.050340 * T - 0.0001603 * T2 - T3 / 300000.0;
  *Mp = 134.96298 + 477198.867398 * T + 0.0086972 * T2 + T3 / 56250.0;
  *F = 93.27191 + 483202.017538 * T - 0.0036825 * T2 + T3 / 327270.0;
  *Omega = 125.04452 - 1934.136261 * T + 0.0020708 * T2 + T3 / 450000.0;
}
```