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

```asm
<anomaly_MeanToEccentric>:
  endbr64
  push   %r12
  push   %rbp
  sub    $0x38,%rsp
  lea    0x28(%rsp),%rbp
  lea    0x20(%rsp),%r12
  movsd  %xmm0,(%rsp)
  mov    %r12,%rsi
  mov    %rbp,%rdi
  movsd  %xmm1,0x10(%rsp)
  movsd  %xmm2,0x8(%rsp)
  call   <sincos@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  (%rsp),%xmm6
  movsd  0x28(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm4
  movapd %xmm6,%xmm0
  movsd  D20(%rip),%xmm5
  movapd %xmm6,%xmm7
  mulsd  %xmm1,%xmm3
  mulsd  %xmm1,%xmm4
  subsd  %xmm3,%xmm0
  mulsd  D30(%rip),%xmm3
  subsd  %xmm4,%xmm5
  subsd  %xmm6,%xmm0
  movapd %xmm5,%xmm2
  movapd %xmm0,%xmm4
  divsd  %xmm5,%xmm4
  mulsd  %xmm4,%xmm3
  subsd  %xmm3,%xmm2
  divsd  %xmm2,%xmm0
  subsd  %xmm0,%xmm7
  movapd %xmm7,%xmm0
  andpd  D281(%rip),%xmm0
  comisd 0x8(%rsp),%xmm0
  jbe    L105
  movapd %xmm6,%xmm0
  mov    %r12,%rsi
  mov    %rbp,%rdi
  subsd  %xmm7,%xmm0
  movsd  %xmm0,0x18(%rsp)
  call   <sincos@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x28(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm5
  movsd  0x18(%rsp),%xmm0
  mulsd  %xmm1,%xmm3
  movsd  D20(%rip),%xmm4
  mulsd  %xmm1,%xmm5
  movapd %xmm0,%xmm2
  subsd  %xmm3,%xmm2
  subsd  (%rsp),%xmm2
  mulsd  D30(%rip),%xmm3
  subsd  %xmm5,%xmm4
  movapd %xmm2,%xmm5
  divsd  %xmm4,%xmm5
  mulsd  %xmm5,%xmm3
  subsd  %xmm3,%xmm4
  movapd %xmm0,%xmm3
  divsd  %xmm4,%xmm2
  subsd  %xmm2,%xmm3
  movapd %xmm3,%xmm2
  andpd  D281(%rip),%xmm2
  comisd 0x8(%rsp),%xmm2
  jbe    L11
  subsd  %xmm3,%xmm0
  mov    %r12,%rsi
  mov    %rbp,%rdi
  movsd  %xmm0,0x18(%rsp)
  call   <sincos@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x28(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm5
  movsd  0x18(%rsp),%xmm0
  mulsd  %xmm1,%xmm3
  movsd  D20(%rip),%xmm4
  mulsd  %xmm1,%xmm5
  movapd %xmm0,%xmm2
  subsd  %xmm3,%xmm2
  subsd  (%rsp),%xmm2
  mulsd  D30(%rip),%xmm3
  subsd  %xmm5,%xmm4
  movapd %xmm2,%xmm5
  divsd  %xmm4,%xmm5
  mulsd  %xmm5,%xmm3
  subsd  %xmm3,%xmm4
  movapd %xmm0,%xmm3
  divsd  %xmm4,%xmm2
  subsd  %xmm2,%xmm3
  movapd %xmm3,%xmm2
  andpd  D281(%rip),%xmm2
  comisd 0x8(%rsp),%xmm2
  jbe    L11
  subsd  %xmm3,%xmm0
  mov    %r12,%rsi
  mov    %rbp,%rdi
  movsd  %xmm0,0x18(%rsp)
  call   <sincos@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x28(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm5
  movsd  0x18(%rsp),%xmm0
  mulsd  %xmm1,%xmm3
  movsd  D20(%rip),%xmm4
  mulsd  %xmm1,%xmm5
  movapd %xmm0,%xmm2
  subsd  %xmm3,%xmm2
  subsd  (%rsp),%xmm2
  mulsd  D30(%rip),%xmm3
  subsd  %xmm5,%xmm4
  movapd %xmm2,%xmm5
  divsd  %xmm4,%xmm5
  mulsd  %xmm5,%xmm3
  subsd  %xmm3,%xmm4
  movapd %xmm0,%xmm3
  divsd  %xmm4,%xmm2
  subsd  %xmm2,%xmm3
  movapd %xmm3,%xmm2
  andpd  D281(%rip),%xmm2
  comisd 0x8(%rsp),%xmm2
  jbe    L11
  subsd  %xmm3,%xmm0
  mov    %r12,%rsi
  mov    %rbp,%rdi
  movsd  %xmm0,0x18(%rsp)
  call   <sincos@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x28(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm5
  movsd  0x18(%rsp),%xmm0
  mulsd  %xmm1,%xmm3
  movsd  D20(%rip),%xmm4
  mulsd  %xmm1,%xmm5
  movapd %xmm0,%xmm2
  subsd  %xmm3,%xmm2
  subsd  (%rsp),%xmm2
  mulsd  D30(%rip),%xmm3
  subsd  %xmm5,%xmm4
  movapd %xmm2,%xmm5
  divsd  %xmm4,%xmm5
  mulsd  %xmm5,%xmm3
  subsd  %xmm3,%xmm4
  movapd %xmm0,%xmm3
  divsd  %xmm4,%xmm2
  subsd  %xmm2,%xmm3
  movapd %xmm3,%xmm2
  andpd  D281(%rip),%xmm2
  comisd 0x8(%rsp),%xmm2
  jbe    L11
  subsd  %xmm3,%xmm0
  mov    %r12,%rsi
  mov    %rbp,%rdi
  movsd  %xmm0,0x18(%rsp)
  call   <sincos@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x28(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm5
  movsd  0x18(%rsp),%xmm0
  mulsd  %xmm1,%xmm3
  movsd  D20(%rip),%xmm4
  mulsd  %xmm1,%xmm5
  movapd %xmm0,%xmm2
  subsd  %xmm3,%xmm2
  subsd  (%rsp),%xmm2
  mulsd  D30(%rip),%xmm3
  subsd  %xmm5,%xmm4
  movapd %xmm2,%xmm5
  divsd  %xmm4,%xmm5
  mulsd  %xmm5,%xmm3
  subsd  %xmm3,%xmm4
  movapd %xmm0,%xmm3
  divsd  %xmm4,%xmm2
  subsd  %xmm2,%xmm3
  movapd %xmm3,%xmm2
  andpd  D281(%rip),%xmm2
  comisd 0x8(%rsp),%xmm2
  jbe    L11
  subsd  %xmm3,%xmm0
  mov    %r12,%rsi
  mov    %rbp,%rdi
  movsd  %xmm0,0x18(%rsp)
  call   <sincos@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x28(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm5
  movsd  0x18(%rsp),%xmm0
  mulsd  %xmm1,%xmm3
  movsd  D20(%rip),%xmm4
  mulsd  %xmm1,%xmm5
  movapd %xmm0,%xmm2
  subsd  %xmm3,%xmm2
  subsd  (%rsp),%xmm2
  mulsd  D30(%rip),%xmm3
  subsd  %xmm5,%xmm4
  movapd %xmm2,%xmm5
  divsd  %xmm4,%xmm5
  mulsd  %xmm5,%xmm3
  subsd  %xmm3,%xmm4
  movapd %xmm0,%xmm3
  divsd  %xmm4,%xmm2
  subsd  %xmm2,%xmm3
  movapd %xmm3,%xmm2
  andpd  D281(%rip),%xmm2
  comisd 0x8(%rsp),%xmm2
  jbe    L11
  subsd  %xmm3,%xmm0
  mov    %r12,%rsi
  mov    %rbp,%rdi
  movsd  %xmm0,0x18(%rsp)
  call   <sincos@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x28(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm5
  movsd  0x18(%rsp),%xmm0
  mulsd  %xmm1,%xmm3
  movsd  D20(%rip),%xmm4
  mulsd  %xmm1,%xmm5
  movapd %xmm0,%xmm2
  subsd  %xmm3,%xmm2
  subsd  (%rsp),%xmm2
  mulsd  D30(%rip),%xmm3
  subsd  %xmm5,%xmm4
  movapd %xmm2,%xmm5
  divsd  %xmm4,%xmm5
  mulsd  %xmm5,%xmm3
  subsd  %xmm3,%xmm4
  movapd %xmm0,%xmm3
  divsd  %xmm4,%xmm2
  subsd  %xmm2,%xmm3
  movapd %xmm3,%xmm2
  andpd  D281(%rip),%xmm2
  comisd 0x8(%rsp),%xmm2
  jbe    L11
  subsd  %xmm3,%xmm0
  mov    %r12,%rsi
  mov    %rbp,%rdi
  movsd  %xmm0,0x18(%rsp)
  call   <sincos@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x28(%rsp),%xmm3
  movsd  0x20(%rsp),%xmm5
  movsd  0x18(%rsp),%xmm0
  mulsd  %xmm1,%xmm3
  movsd  D20(%rip),%xmm4
  mulsd  %xmm1,%xmm5
  movapd %xmm0,%xmm2
  subsd  %xmm3,%xmm2
  subsd  (%rsp),%xmm2
  mulsd  D30(%rip),%xmm3
  subsd  %xmm5,%xmm4
  movapd %xmm2,%xmm5
  divsd  %xmm4,%xmm5
  mulsd  %xmm5,%xmm3
  subsd  %xmm3,%xmm4
  movapd %xmm0,%xmm3
  divsd  %xmm4,%xmm2
  subsd  %xmm2,%xmm3
  movapd %xmm3,%xmm2
  andpd  D281(%rip),%xmm2
  comisd 0x8(%rsp),%xmm2
  jbe    L11
  subsd  %xmm3,%xmm0
  mov    %r12,%rsi
  mov    %rbp,%rdi
  movsd  %xmm0,0x18(%rsp)
  call   <sincos@plt>
  movsd  0x10(%rsp),%xmm1
  movsd  0x28(%rsp),%xmm4
  movsd  0x18(%rsp),%xmm0
  movsd  D20(%rip),%xmm2
  mulsd  %xmm1,%xmm4
  mulsd  0x20(%rsp),%xmm1
  movapd %xmm0,%xmm3
  subsd  %xmm4,%xmm3
  subsd  (%rsp),%xmm3
  mulsd  D30(%rip),%xmm4
  subsd  %xmm1,%xmm2
  movapd %xmm3,%xmm1
  divsd  %xmm2,%xmm1
  mulsd  %xmm1,%xmm4
  subsd  %xmm4,%xmm2
  divsd  %xmm2,%xmm3
  movapd %xmm0,%xmm2
  subsd  %xmm3,%xmm2
  movapd %xmm2,%xmm1
  andpd  D281(%rip),%xmm1
  comisd 0x8(%rsp),%xmm1
  jbe    L11
  subsd  %xmm2,%xmm0
L11:
  add    $0x38,%rsp
  pop    %rbp
  pop    %r12
  ret
L105:
  movapd %xmm6,%xmm0
  jmp    L11
```

tool_calls: name: read_data
arguments: data_label: D20
data_type: f64
name: read_data
arguments: data_label: D30
data_type: f64
name: read_data
arguments: data_label: D281
data_type: qword[2]

tool: D20: 1

tool: D30: 0.5

tool: {"D281": [0x7fffffffffffffff,0x0000000000000000]}

assistant: ```c
double anomaly_MeanToEccentric(double M, double e, double maxErr) {
  double E = M;
  for (int i = 0; i < 10; i++) {
    double se = sin(E);
    double ce = cos(E);
    double A = e * se;
    double B = E - A - M;
    double C = 1 - e * ce;
    double err = E - B / (C - 0.5 * A * (B / C));
    if (fabs(err) > maxErr) {
      E = E - err;
    } else {
      break;
    }
  }
  return E;
}
```