user: What would the C source look like for the assembly code provided here?

```asm
<gsw_hill_ratio_at_sp2>:
  endbr64
  mulsd  D392(%rip),%xmm0
  movsd  D175(%rip),%xmm1
  movsd  D43(%rip),%xmm6
  movsd  D100(%rip),%xmm2
  movsd  D201(%rip),%xmm7
  movsd  D129(%rip),%xmm9
  movsd  D42(%rip),%xmm8
  movsd  D117(%rip),%xmm3
  movsd  D193(%rip),%xmm14
  movsd  D296(%rip),%xmm13
  movsd  D181(%rip),%xmm12
  movapd %xmm0,%xmm5
  subsd  D136(%rip),%xmm5
  mulsd  %xmm5,%xmm1
  addsd  %xmm6,%xmm1
  divsd  %xmm1,%xmm5
  movsd  D351(%rip),%xmm1
  mulsd  %xmm0,%xmm1
  subsd  D180(%rip),%xmm1
  mulsd  %xmm0,%xmm1
  addsd  D118(%rip),%xmm1
  mulsd  %xmm0,%xmm1
  subsd  D116(%rip),%xmm1
  mulsd  %xmm0,%xmm1
  addsd  D164(%rip),%xmm1
  mulsd  %xmm0,%xmm1
  subsd  D417(%rip),%xmm1
  mulsd  %xmm0,%xmm1
  addsd  D130(%rip),%xmm1
  mulsd  %xmm0,%xmm1
  subsd  D169(%rip),%xmm1
  mulsd  %xmm0,%xmm1
  addsd  D353(%rip),%xmm1
  mulsd  %xmm0,%xmm1
  movsd  D384(%rip),%xmm0
  addsd  D159(%rip),%xmm1
  mulsd  %xmm1,%xmm0
  movapd %xmm1,%xmm15
  movapd %xmm1,%xmm4
  mulsd  %xmm1,%xmm2
  addsd  D257(%rip),%xmm0
  subsd  D216(%rip),%xmm2
  mulsd  %xmm3,%xmm4
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm2
  subsd  D321(%rip),%xmm0
  addsd  D259(%rip),%xmm2
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm2
  subsd  D232(%rip),%xmm0
  addsd  D98(%rip),%xmm2
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm2
  subsd  %xmm9,%xmm0
  subsd  %xmm8,%xmm2
  mulsd  %xmm1,%xmm0
  mulsd  %xmm1,%xmm2
  addsd  D91(%rip),%xmm0
  mulsd  %xmm5,%xmm0
  addsd  %xmm7,%xmm2
  addsd  %xmm0,%xmm2
  movsd  D287(%rip),%xmm0
  subsd  %xmm0,%xmm2
  movapd %xmm2,%xmm10
  movsd  D294(%rip),%xmm2
  movsd  D132(%rip),%xmm11
  mulsd  %xmm2,%xmm15
  subsd  %xmm11,%xmm4
  mulsd  %xmm1,%xmm4
  addsd  D293(%rip),%xmm4
  addsd  %xmm14,%xmm15
  mulsd  %xmm1,%xmm4
  mulsd  %xmm1,%xmm15
  addsd  D326(%rip),%xmm4
  mulsd  %xmm1,%xmm4
  subsd  %xmm13,%xmm15
  mulsd  %xmm1,%xmm15
  subsd  %xmm8,%xmm4
  subsd  %xmm12,%xmm15
  mulsd  %xmm1,%xmm15
  subsd  %xmm9,%xmm15
  mulsd  %xmm5,%xmm15
  addsd  %xmm15,%xmm4
  movapd %xmm10,%xmm15
  divsd  %xmm4,%xmm15
  movapd %xmm1,%xmm4
  subsd  %xmm15,%xmm4
  addsd  %xmm1,%xmm4
  mulsd  D32(%rip),%xmm4
  mulsd  %xmm4,%xmm2
  mulsd  %xmm4,%xmm3
  addsd  %xmm14,%xmm2
  subsd  %xmm11,%xmm3
  mulsd  %xmm4,%xmm2
  mulsd  %xmm4,%xmm3
  addsd  D293(%rip),%xmm3
  subsd  %xmm13,%xmm2
  mulsd  %xmm4,%xmm3
  addsd  D326(%rip),%xmm3
  mulsd  %xmm4,%xmm2
  mulsd  %xmm4,%xmm3
  subsd  %xmm12,%xmm2
  subsd  %xmm8,%xmm3
  mulsd  %xmm4,%xmm2
  subsd  %xmm9,%xmm2
  mulsd  %xmm5,%xmm2
  mulsd  D91(%rip),%xmm5
  addsd  %xmm3,%xmm2
  movapd %xmm10,%xmm3
  divsd  %xmm2,%xmm3
  movsd  D255(%rip),%xmm2
  subsd  %xmm3,%xmm1
  movsd  D68(%rip),%xmm3
  mulsd  %xmm1,%xmm3
  mulsd  %xmm1,%xmm3
  mulsd  D67(%rip),%xmm1
  addsd  %xmm3,%xmm2
  mulsd  %xmm3,%xmm2
  movapd %xmm0,%xmm3
  addsd  %xmm6,%xmm2
  divsd  %xmm2,%xmm7
  movapd %xmm1,%xmm2
  addsd  %xmm6,%xmm2
  mulsd  %xmm1,%xmm2
  addsd  %xmm6,%xmm2
  mulsd  %xmm2,%xmm1
  addsd  %xmm6,%xmm1
  divsd  %xmm1,%xmm5
  subsd  %xmm7,%xmm3
  subsd  %xmm5,%xmm3
  divsd  %xmm3,%xmm0
  ret
```

tool_calls: name: extract_symbolic_data
arguments: tag: D392
datatype: f64
name: extract_symbolic_data
arguments: tag: D175
datatype: f64
name: extract_symbolic_data
arguments: tag: D43
datatype: f64
name: extract_symbolic_data
arguments: tag: D100
datatype: f64
name: extract_symbolic_data
arguments: tag: D201
datatype: f64
name: extract_symbolic_data
arguments: tag: D129
datatype: f64
name: extract_symbolic_data
arguments: tag: D42
datatype: f64
name: extract_symbolic_data
arguments: tag: D117
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D193
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D296
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D181
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D136
datatype: f64
name: extract_symbolic_data
arguments: tag: D351
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D180
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D118
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D116
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D164
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D417
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D130
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D169
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D353
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D384
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D159
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D257
datatype: f64
name: extract_symbolic_data
arguments: tag: D216
datatype: f64
name: extract_symbolic_data
arguments: tag: D321
datatype: f64
name: extract_symbolic_data
arguments: tag: D259
datatype: f64
name: extract_symbolic_data
arguments: tag: D232
datatype: f64
name: extract_symbolic_data
arguments: tag: D98
datatype: f64
name: extract_symbolic_data
arguments: tag: D91
datatype: f64
name: extract_symbolic_data
arguments: tag: D287
datatype: f64
name: extract_symbolic_data
arguments: tag: D294
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D132
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D293
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D326
datatype: byte[8]
name: extract_symbolic_data
arguments: tag: D32
datatype: f64
name: extract_symbolic_data
arguments: tag: D255
datatype: f64
name: extract_symbolic_data
arguments: tag: D68
datatype: f64
name: extract_symbolic_data
arguments: tag: D67
datatype: f64

tool: D392: 1.00024

tool: D175: 0.0162

tool: D43: 1

tool: D100: 2.7081

tool: D201: 0.008

tool: D129: 0.0056

tool: D42: 0.1692

tool: {"D117": [0xdb,0xf9,0x7e,0x6a,0xbc,0x14,0x2b,0x40]}

tool: {"D193": [0xb9,0x8d,0x06,0xf0,0x16,0x48,0xd0,0x3f]}

tool: {"D296": [0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0xbc,0x3f]}

tool: {"D181": [0x46,0x25,0x75,0x02,0x9a,0x08,0x8b,0x3f]}

tool: D136: 15

tool: {"D351": [0xf5,0xd6,0xaf,0x9d,0x5f,0x1a,0x15,0x3c]}

tool: {"D180": [0x81,0x07,0x8b,0x34,0x2a,0x55,0x94,0x3c]}

tool: {"D118": [0x7f,0xdf,0x1b,0x33,0xfd,0x24,0x02,0x3d]}

tool: {"D116": [0x0f,0xda,0x69,0x69,0x9f,0xd7,0x64,0x3d]}

tool: {"D164": [0xa1,0xf1,0x07,0x78,0xc1,0x8c,0xc2,0x3d]}

tool: {"D417": [0x6d,0xb1,0x3d,0x1e,0xc8,0x66,0x1d,0x3e]}

tool: {"D130": [0xe8,0xeb,0x89,0x92,0x95,0x8d,0x76,0x3e]}

tool: {"D169": [0x71,0x98,0xb4,0x72,0x9a,0x3a,0xd1,0x3e]}

tool: {"D353": [0xcc,0x12,0xa3,0x93,0x56,0x51,0x2a,0x3f]}

tool: {"D384": [0x92,0xcb,0x7f,0x48,0xbf,0x7d,0x8d,0xbf]}

tool: {"D159": [0xc9,0xb3,0x74,0x1e,0xc6,0xe7,0xd0,0x3f]}

tool: D257: 0.0636

tool: D216: 7.0261

tool: D321: 0.0375

tool: D259: 14.0941

tool: D232: 0.0066

tool: D98: 25.3851

tool: D91: 0.0005

tool: D287: 2

tool: {"D294": [0x3b,0xdf,0x4f,0x8d,0x97,0x6e,0xb2,0xbf]}

tool: {"D132": [0xd0,0xb3,0x59,0xf5,0xb9,0x1a,0x3c,0x40]}

tool: {"D293": [0x95,0xd4,0x09,0x68,0x22,0x24,0x45,0x40]}

tool: {"D326": [0x8a,0xb0,0xe1,0xe9,0x95,0x62,0x49,0x40]}

tool: D32: 0.5

tool: D255: 1.5

tool: D68: 400

tool: D67: 10

assistant: ```c
double gsw_hill_ratio_at_sp2(double t) {
  double a0 = 0.0080e0, a1 = -0.1692e0, a2 = 25.3851e0, a3 = 14.0941e0, a4 = -7.0261e0, a5 = 2.7081e0, b0 = 0.0005e0, b1 = -0.0056e0, b2 = -0.0066e0, b3 = -0.0375e0, b4 = 0.0636e0, b5 = -0.0144e0, g0 = 2.641463563366498e-1, g1 = 2.007883247811176e-4, g2 = -4.107694432853053e-6, g3 = 8.401670882091225e-8, g4 = -1.711392021989210e-9, g5 = 3.374193893377380e-11, g6 = -5.923731174730784e-13, g7 = 8.057771569962299e-15, g8 = -7.054313817447962e-17, g9 = 2.859992717347235e-19, rk = 0.0162e0, sp2 = 2e0;
  double t68, ft68, rtx0, dsp_drtx, sp_est, rtx, rtxm, x, part1, part2;
  double sqrty, sp_hill_raw_at_sp2;
  t68 = t * 1.00024;
  ft68 = (t68 - 15.0) / (1.0 + rk * (t68 - 15.0));
  rtx0 = g0 + t68 * (g1 + t68 * (g2 + t68 * (g3 + t68 * (g4 + t68 * (g5 + t68 * (g6 + t68 * (g7 + t68 * (g8 + t68 * g9))))))));
  dsp_drtx = a1 + (2 * a2 + (3 * a3 + (4 * a4 + 5 * a5 * rtx0) * rtx0) * rtx0) * rtx0 + ft68 * (b1 + (2 * b2 + (3 * b3 + (4 * b4 + 5 * b5 * rtx0) * rtx0) * rtx0) * rtx0);
  sp_est = a0 + (a1 + (a2 + (a3 + (a4 + a5 * rtx0) * rtx0) * rtx0) * rtx0) * rtx0 + ft68 * (b0 + (b1 + (b2 + (b3 + (b4 + b5 * rtx0) * rtx0) * rtx0) * rtx0) * rtx0);
  rtx = rtx0 - (sp_est - sp2) / dsp_drtx;
  rtxm = 0.5 * (rtx + rtx0);
  dsp_drtx = a1 + (2 * a2 + (3 * a3 + (4 * a4 + 5 * a5 * rtxm) * rtxm) * rtxm) * rtxm + ft68 * (b1 + (2 * b2 + (3 * b3 + (4 * b4 + 5 * b5 * rtxm) * rtxm) * rtxm) * rtxm);
  rtx = rtx0 - (sp_est - sp2) / dsp_drtx;
  x = 400.0 * rtx * rtx;
  sqrty = 10.0 * rtx;
  part1 = 1.0 + x * (1.5 + x);
  part2 = 1.0 + sqrty * (1.0 + sqrty * (1.0 + sqrty));
  sp_hill_raw_at_sp2 = sp2 - a0 / part1 - b0 * ft68 / part2;
  return (2.0 / sp_hill_raw_at_sp2);
}
```