user: Converte this assembly snippet into its equivalent C code:

```asm
<phyCalcVapPresR410A>:
  endbr64
  sub    $0x28,%rsp
  movsd  D32(%rip),%xmm1
  comisd %xmm0,%xmm1
  ja     L26
  comisd D64(%rip),%xmm0
  jbe    L1
  movsd  D67(%rip),%xmm4
  movsd  D4(%rip),%xmm5
  movsd  D83(%rip),%xmm1
  movsd  %xmm4,0x8(%rsp)
  movsd  %xmm5,0x10(%rsp)
  jmp    L16
  nopw   0x0(%rax,%rax,1)
L26:
  movsd  D33(%rip),%xmm7
  movsd  D172(%rip),%xmm1
  movsd  %xmm7,0x8(%rsp)
  movsd  D164(%rip),%xmm7
  movsd  %xmm7,0x10(%rsp)
L16:
  mov    $0x2,%edi
  movapd %xmm1,%xmm0
  movsd  %xmm1,0x18(%rsp)
  call   <pow@plt>
  movsd  0x18(%rsp),%xmm1
  mov    $0x3,%edi
  mulsd  D140(%rip),%xmm0
  addsd  0x8(%rsp),%xmm0
  movsd  %xmm0,0x8(%rsp)
  movapd %xmm1,%xmm0
  call   <pow@plt>
  movsd  0x8(%rsp),%xmm3
  movsd  0x18(%rsp),%xmm1
  mov    $0x4,%edi
  mulsd  D186(%rip),%xmm0
  addsd  %xmm0,%xmm3
  movapd %xmm1,%xmm0
  movsd  %xmm3,0x8(%rsp)
  call   <pow@plt>
  movsd  0x18(%rsp),%xmm1
  mov    $0x5,%edi
  mulsd  D124(%rip),%xmm0
  addsd  0x8(%rsp),%xmm0
  movsd  %xmm0,0x8(%rsp)
  movapd %xmm1,%xmm0
  call   <pow@plt>
  mulsd  D142(%rip),%xmm0
  addsd  0x8(%rsp),%xmm0
  mulsd  0x10(%rsp),%xmm0
  call   <exp@plt>
  mulsd  D9(%rip),%xmm0
  divsd  D97(%rip),%xmm0
  add    $0x28,%rsp
  ret
  nopw   0x0(%rax,%rax,1)
L1:
  movsd  D180(%rip),%xmm1
  addsd  D8(%rip),%xmm0
  divsd  D56(%rip),%xmm0
  movapd %xmm1,%xmm2
  subsd  %xmm0,%xmm1
  subsd  D146(%rip),%xmm1
  divsd  %xmm0,%xmm2
  movsd  D96(%rip),%xmm0
  mulsd  %xmm1,%xmm0
  subsd  D147(%rip),%xmm0
  movsd  %xmm0,0x8(%rsp)
  movsd  %xmm2,0x10(%rsp)
  jmp    L16
```

tool_calls: name: retrieve_data
arguments: data_tag: D32
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D64
datatype: f64[2]
name: retrieve_data
arguments: data_tag: D67
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D4
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D83
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D33
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D172
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D164
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D140
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D186
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D124
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D142
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D9
datatype: f64
name: retrieve_data
arguments: data_tag: D97
datatype: f64
name: retrieve_data
arguments: data_tag: D180
datatype: f64
name: retrieve_data
arguments: data_tag: D8
datatype: f64
name: retrieve_data
arguments: data_tag: D56
datatype: f64
name: retrieve_data
arguments: data_tag: D146
datatype: f64
name: retrieve_data
arguments: data_tag: D96
datatype: byte[8]
name: retrieve_data
arguments: data_tag: D147
datatype: f64

tool: {"D32": [0x00,0x00,0x00,0x00,0x00,0x00,0x59,0xc0]}

tool: {"D64": [72.0,273.15]}

tool: {"D67": [0x00,0x85,0x97,0xae,0x7e,0x39,0x84,0xbf]}

tool: {"D4": [0xca,0x15,0xa2,0xf1,0x8a,0x01,0xf0,0x3f]}

tool: {"D83": [0x1a,0xbd,0x77,0xeb,0x05,0xaa,0xca,0xbf]}

tool: {"D33": [0x3d,0x1e,0x95,0xd5,0x31,0x70,0x0b,0xc0]}

tool: {"D172": [0xd3,0x4d,0xa7,0x9c,0x9e,0x8c,0xd2,0x3f]}

tool: {"D164": [0xd4,0x5a,0x0b,0x00,0xdf,0xe7,0xff,0x3f]}

tool: {"D140": [0x33,0x92,0x98,0xfb,0x3f,0x22,0xe1,0xbf]}

tool: {"D186": [0x4e,0x9d,0x47,0xc5,0xff,0xfd,0x0d,0xc0]}

tool: {"D124": [0x1e,0x19,0xab,0xcd,0xff,0x2b,0x0c,0xc0]}

tool: {"D142": [0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0xc0]}

tool: D9: 4926.1

tool: D97: 100

tool: D180: 1

tool: D8: 273.15

tool: D56: 345.28

tool: D146: 0.2086902

tool: {"D96": [0x67,0x7e,0x35,0x07,0x08,0x76,0x1b,0xc0]}

tool: D147: 1.440004

assistant: ```c
double phyCalcVapPresR410A(double temp) {
  const double A = -1.440004;
  const double B = -6.865265;
  const double C = -0.5354309;
  const double D = -3.749023;
  const double E = -3.521484;
  const double F = -7.75;
  const double X0 = 0.2086902;
  const double Tc = 345.28;
  const double Pc = 4926.1;
  double X, Tr;
  if (temp < -100.0)
    temp = -100.0;
  else if (temp > 72.0)
    temp = 72.0;
  Tr = (temp + 273.15) / Tc;
  X = (1.0 - Tr) - X0;
  return (double)(exp(1.0 / Tr * (A + (B * X) + (C * pow(X, 2)) + (D * pow(X, 3)) + (E * pow(X, 4)) + (F * pow(X, 5)))) * Pc / 100.0);
}
```