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

```asm
<potm>:
  endbr64
  sub    $0x68,%rsp
  movsd  %xmm0,(%rsp)
  lea    0x28(%rsp),%rdi
  mulsd  D106(%rip),%xmm0
  mov    %fs:0x28,%rax
  mov    %rax,0x58(%rsp)
  xor    %eax,%eax
  divsd  D12(%rip),%xmm0
  movsd  %xmm0,0x28(%rsp)
  call   <adj360@plt>
  movsd  D153(%rip),%xmm5
  addsd  0x28(%rsp),%xmm5
  xor    %eax,%eax
  lea    0x30(%rsp),%rdi
  movapd %xmm5,%xmm0
  subsd  D194(%rip),%xmm0
  movsd  %xmm0,0x30(%rsp)
  call   <adj360@plt>
  movsd  0x30(%rsp),%xmm0
  mov    $0x1,%eax
  call   <dtor@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  call   <sin@plt>
  mulsd  D97(%rip),%xmm0
  lea    0x38(%rsp),%rdi
  xor    %eax,%eax
  addsd  0x28(%rsp),%xmm0
  addsd  D153(%rip),%xmm0
  movsd  %xmm0,0x38(%rsp)
  call   <adj360@plt>
  movsd  (%rsp),%xmm0
  lea    0x40(%rsp),%rdi
  xor    %eax,%eax
  mulsd  D157(%rip),%xmm0
  addsd  D24(%rip),%xmm0
  movsd  %xmm0,0x40(%rsp)
  call   <adj360@plt>
  movsd  (%rsp),%xmm1
  movsd  0x40(%rsp),%xmm0
  xor    %eax,%eax
  mulsd  D107(%rip),%xmm1
  lea    0x48(%rsp),%rdi
  subsd  %xmm1,%xmm0
  subsd  D95(%rip),%xmm0
  movsd  %xmm0,0x48(%rsp)
  call   <adj360@plt>
  movsd  (%rsp),%xmm0
  lea    0x50(%rsp),%rdi
  xor    %eax,%eax
  mulsd  D168(%rip),%xmm0
  movsd  D141(%rip),%xmm1
  subsd  %xmm0,%xmm1
  movsd  %xmm1,0x50(%rsp)
  call   <adj360@plt>
  movsd  0x40(%rsp),%xmm0
  mov    $0x1,%eax
  subsd  0x38(%rsp),%xmm0
  addsd  %xmm0,%xmm0
  subsd  0x48(%rsp),%xmm0
  call   <dtor@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  call   <sin@plt>
  mulsd  D144(%rip),%xmm0
  mov    $0x1,%eax
  movsd  %xmm0,(%rsp)
  movsd  0x30(%rsp),%xmm0
  call   <dtor@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  call   <sin@plt>
  movsd  D6(%rip),%xmm4
  mov    $0x1,%eax
  mulsd  %xmm0,%xmm4
  movsd  0x30(%rsp),%xmm0
  movsd  %xmm4,0x8(%rsp)
  call   <dtor@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  call   <sin@plt>
  movsd  (%rsp),%xmm1
  addsd  0x48(%rsp),%xmm1
  mov    $0x1,%eax
  mulsd  D145(%rip),%xmm0
  subsd  0x8(%rsp),%xmm1
  subsd  %xmm0,%xmm1
  movapd %xmm1,%xmm0
  movsd  %xmm1,0x18(%rsp)
  call   <dtor@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  call   <sin@plt>
  movsd  0x18(%rsp),%xmm1
  mov    $0x1,%eax
  movsd  %xmm0,0x10(%rsp)
  addsd  %xmm1,%xmm1
  movapd %xmm1,%xmm0
  call   <dtor@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  call   <sin@plt>
  movsd  0x10(%rsp),%xmm2
  movsd  (%rsp),%xmm1
  mov    $0x1,%eax
  mulsd  D74(%rip),%xmm2
  addsd  0x40(%rsp),%xmm1
  movapd %xmm0,%xmm3
  mulsd  D20(%rip),%xmm3
  addsd  %xmm2,%xmm1
  subsd  0x8(%rsp),%xmm1
  addsd  %xmm3,%xmm1
  movapd %xmm1,%xmm0
  subsd  0x38(%rsp),%xmm0
  movsd  %xmm1,(%rsp)
  addsd  %xmm0,%xmm0
  call   <dtor@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  call   <sin@plt>
  movsd  (%rsp),%xmm1
  mov    $0x1,%eax
  mulsd  D70(%rip),%xmm0
  addsd  %xmm1,%xmm0
  subsd  0x38(%rsp),%xmm0
  call   <dtor@plt>
  pxor   %xmm0,%xmm0
  cvtsi2sd %eax,%xmm0
  call   <cos@plt>
  movapd %xmm0,%xmm1
  movsd  D140(%rip),%xmm0
  subsd  %xmm1,%xmm0
  mulsd  D63(%rip),%xmm0
  mov    0x58(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L0
  add    $0x68,%rsp
  ret
L0:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: tag: D106
data_type: byte[8]
name: extract_symbolic_data
arguments: tag: D12
data_type: f64
name: extract_symbolic_data
arguments: tag: D153
data_type: f64
name: extract_symbolic_data
arguments: tag: D194
data_type: f64
name: extract_symbolic_data
arguments: tag: D97
data_type: byte[8]
name: extract_symbolic_data
arguments: tag: D157
data_type: f64
name: extract_symbolic_data
arguments: tag: D24
data_type: f64
name: extract_symbolic_data
arguments: tag: D107
data_type: f64
name: extract_symbolic_data
arguments: tag: D95
data_type: f64
name: extract_symbolic_data
arguments: tag: D168
data_type: f64
name: extract_symbolic_data
arguments: tag: D141
data_type: f64
name: extract_symbolic_data
arguments: tag: D144
data_type: f64
name: extract_symbolic_data
arguments: tag: D6
data_type: f64
name: extract_symbolic_data
arguments: tag: D145
data_type: f64
name: extract_symbolic_data
arguments: tag: D74
data_type: f64
name: extract_symbolic_data
arguments: tag: D20
data_type: f64
name: extract_symbolic_data
arguments: tag: D70
data_type: f64
name: extract_symbolic_data
arguments: tag: D140
data_type: byte[8]
name: extract_symbolic_data
arguments: tag: D63
data_type: f64

tool: {"D106": [0x00,0x00,0x00,0x00,0x00,0x80,0x76,0x40]}

tool: D12: 365.242191

tool: D153: 279.403303

tool: D194: 282.768422

tool: {"D97": [0xa2,0x2a,0x48,0xf6,0x87,0xa4,0xfe,0x3f]}

tool: D157: 13.1763966

tool: D24: 318.351648

tool: D107: 0.1114041

tool: D95: 36.34041

tool: D168: 0.0529539

tool: D141: 318.510107

tool: D144: 1.2739

tool: D6: 0.1858

tool: D145: 0.37

tool: D74: 6.2886

tool: D20: 0.214

tool: D70: 0.6583

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

tool: D63: 50

assistant: ```c
double potm(days)
double days;
{
  double N, Msol, Ec, LambdaSol, l, Mm, Ev, Ac, A3, Mmprime;
  double A4, lprime, V, ldprime, D, Nm;
  N = 360 * days / 365.242191;
  adj360(&N);
  Msol = N + 279.403303 - 282.768422;
  adj360(&Msol);
  Ec = 360 / 3.14159265358979323846 * 0.016713 * sin(dtor(Msol));
  LambdaSol = N + Ec + 279.403303;
  adj360(&LambdaSol);
  l = 13.1763966 * days + 318.351648;
  adj360(&l);
  Mm = l - (0.1114041 * days) - 36.340410;
  adj360(&Mm);
  Nm = 318.510107 - (0.0529539 * days);
  adj360(&Nm);
  Ev = 1.2739 * sin(dtor(2 * (l - LambdaSol) - Mm));
  Ac = 0.1858 * sin(dtor(Msol));
  A3 = 0.37 * sin(dtor(Msol));
  Mmprime = Mm + Ev - Ac - A3;
  Ec = 6.2886 * sin(dtor(Mmprime));
  A4 = 0.214 * sin(dtor(2 * Mmprime));
  lprime = l + Ev + Ec - Ac + A4;
  V = 0.6583 * sin(dtor(2 * (lprime - LambdaSol)));
  ldprime = lprime + V;
  D = ldprime - LambdaSol;
  return (50.0 * (1 - cos(dtor(D))));
}
```