user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<sub_with_height>:
  endbr64
  push   %rbx
  xor    %edi,%edi
  movq   %xmm2,%rbx
  sub    $0x50,%rsp
  movsd  %xmm7,0x18(%rsp)
  movsd  %xmm6,0x10(%rsp)
  movsd  %xmm1,0x8(%rsp)
  movsd  %xmm5,0x48(%rsp)
  movsd  %xmm0,0x20(%rsp)
  call   <pow@plt>
  movsd  0x20(%rsp),%xmm3
  xor    %edi,%edi
  movsd  D142(%rip),%xmm1
  movsd  D96(%rip),%xmm2
  movsd  D83(%rip),%xmm4
  movapd %xmm3,%xmm5
  movsd  %xmm3,0x40(%rsp)
  mulsd  D200(%rip),%xmm5
  mulsd  %xmm0,%xmm4
  movsd  D165(%rip),%xmm0
  addsd  %xmm5,%xmm1
  divsd  %xmm1,%xmm2
  mulsd  %xmm1,%xmm1
  divsd  %xmm1,%xmm0
  addsd  D202(%rip),%xmm2
  addsd  %xmm0,%xmm2
  movsd  D13(%rip),%xmm0
  mulsd  %xmm4,%xmm0
  mulsd  %xmm4,%xmm0
  mulsd  %xmm4,%xmm0
  mulsd  %xmm0,%xmm2
  movsd  D96(%rip),%xmm0
  mulsd  %xmm2,%xmm0
  movsd  %xmm2,0x38(%rsp)
  divsd  D188(%rip),%xmm0
  call   <pow@plt>
  mov    $0x1,%edi
  movsd  %xmm0,0x30(%rsp)
  call   <pow@plt>
  mov    $0x1,%edi
  movsd  %xmm0,0x28(%rsp)
  movq   %rbx,%xmm0
  call   <pow@plt>
  movsd  %xmm0,0x20(%rsp)
  movsd  D236(%rip),%xmm0
  call   <cos@plt>
  movsd  0x20(%rsp),%xmm1
  xor    %edi,%edi
  movsd  D7(%rip),%xmm0
  movsd  0x28(%rsp),%xmm6
  mulsd  D144(%rip),%xmm6
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  movsd  0x30(%rsp),%xmm4
  mulsd  D96(%rip),%xmm0
  cvtsi2sd %eax,%xmm1
  movapd %xmm4,%xmm3
  addsd  %xmm4,%xmm3
  mulsd  %xmm1,%xmm0
  addsd  %xmm6,%xmm0
  mulsd  %xmm3,%xmm0
  divsd  D23(%rip),%xmm0
  call   <pow@plt>
  movsd  0x40(%rsp),%xmm3
  movsd  %xmm0,0x28(%rsp)
  movapd %xmm3,%xmm0
  movsd  %xmm3,0x20(%rsp)
  call   <log@plt>
  mulsd  D186(%rip),%xmm0
  movsd  0x48(%rsp),%xmm5
  divsd  0x8(%rsp),%xmm5
  addsd  D89(%rip),%xmm0
  subsd  D202(%rip),%xmm5
  movsd  0x30(%rsp),%xmm4
  mulsd  D17(%rip),%xmm4
  movsd  0x28(%rsp),%xmm1
  mulsd  D166(%rip),%xmm1
  mulsd  %xmm0,%xmm5
  movsd  0x38(%rsp),%xmm2
  movsd  0x20(%rsp),%xmm3
  divsd  0x18(%rsp),%xmm3
  movsd  D104(%rip),%xmm0
  addsd  %xmm1,%xmm0
  movsd  0x68(%rsp),%xmm1
  mulsd  D138(%rip),%xmm1
  mulsd  %xmm4,%xmm5
  mulsd  0x68(%rsp),%xmm1
  mulsd  %xmm0,%xmm5
  movq   %rbx,%xmm0
  mulsd  D130(%rip),%xmm0
  divsd  0x10(%rsp),%xmm5
  divsd  %xmm2,%xmm5
  movsd  D85(%rip),%xmm2
  divsd  %xmm0,%xmm1
  movsd  0x68(%rsp),%xmm0
  mulsd  D88(%rip),%xmm0
  movsd  %xmm5,0x8(%rsp)
  divsd  %xmm0,%xmm2
  movapd %xmm3,%xmm0
  movsd  %xmm1,0x10(%rsp)
  cvttsd2si %xmm2,%edi
  call   <pow@plt>
  movsd  0x10(%rsp),%xmm1
  movapd %xmm0,%xmm2
  movsd  D202(%rip),%xmm0
  addsd  %xmm1,%xmm0
  mulsd  %xmm2,%xmm0
  subsd  %xmm1,%xmm0
  mulsd  0x60(%rsp),%xmm0
  mulsd  0x8(%rsp),%xmm0
  add    $0x50,%rsp
  pop    %rbx
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D142
data_type: f64
name: extract_symbolic_data
arguments: label: D96
data_type: f64
name: extract_symbolic_data
arguments: label: D83
data_type: byte[8]
name: extract_symbolic_data
arguments: label: D200
data_type: f64
name: extract_symbolic_data
arguments: label: D165
data_type: f64
name: extract_symbolic_data
arguments: label: D202
data_type: f64
name: extract_symbolic_data
arguments: label: D13
data_type: byte[8]
name: extract_symbolic_data
arguments: label: D188
data_type: byte[8]
name: extract_symbolic_data
arguments: label: D236
data_type: byte[8]
name: extract_symbolic_data
arguments: label: D7
data_type: f64
name: extract_symbolic_data
arguments: label: D144
data_type: f64
name: extract_symbolic_data
arguments: label: D23
data_type: byte[8]
name: extract_symbolic_data
arguments: label: D186
data_type: byte[8]
name: extract_symbolic_data
arguments: label: D89
data_type: f64
name: extract_symbolic_data
arguments: label: D17
data_type: byte[8]
name: extract_symbolic_data
arguments: label: D166
data_type: f64
name: extract_symbolic_data
arguments: label: D104
data_type: f64
name: extract_symbolic_data
arguments: label: D138
data_type: f64
name: extract_symbolic_data
arguments: label: D130
data_type: f64
name: extract_symbolic_data
arguments: label: D85
data_type: byte[8]
name: extract_symbolic_data
arguments: label: D88
data_type: f64

tool: D142: 4.08

tool: D96: 3

tool: {"D83": [0x7b,0x85,0x05,0xf7,0x03,0x1e,0x08,0x3f]}

tool: D200: 12.6

tool: D165: 2

tool: D202: 1

tool: {"D13": [0x41,0x6c,0x0d,0xc9,0x3d,0x02,0xae,0x40]}

tool: {"D188": [0x30,0x11,0xca,0x56,0xae,0x81,0xc6,0x40]}

tool: {"D236": [0x97,0xd1,0x7e,0x5a,0xfb,0x21,0xe9,0x3f]}

tool: D7: 0.005

tool: D144: 11000000

tool: {"D23": [0x05,0xa2,0x27,0x65,0x52,0x43,0xeb,0x3e]}

tool: {"D186": [0xd9,0xce,0xf7,0x53,0xe3,0xa5,0x9b,0x3f]}

tool: D89: 1.019

tool: {"D17": [0x97,0xd1,0x7e,0x5a,0xfb,0x21,0x19,0x40]}

tool: D166: 0.606

tool: D104: 1.79

tool: D138: 0.5

tool: D130: 0.3

tool: {"D85": [0x33,0x33,0x33,0x33,0x33,0x33,0xd3,0xbf]}

tool: D88: 0.4

assistant: ```c
double sub_with_height(double z, double es, double Wind, double AirDens, double ZO, double EactAir, double F, double hsalt, double phi_r, double ushear, double Zrh) {
  double Rrz, ALPHAz, Mz;
  double Rmean, terminal_v, fluctuat_v;
  double Vtz, Re, Nu;
  double sigz, dMdt;
  double temp;
  double psi_t, phi_t;
  Rrz = 4.6e-5 * pow(z, -.258);
  ALPHAz = 4.08 + 12.6 * z;
  Mz = (4. / 3.) * 3.1415927 * 917. * Rrz * Rrz * Rrz * (1. + (3. / ALPHAz) + (2. / (ALPHAz * ALPHAz)));
  Rmean = pow((3. * Mz) / (4. * 3.1415927 * 917.), 1. / 3.);
  terminal_v = 1.1e7 * pow(Rmean, 1.8);
  fluctuat_v = 0.005 * pow(Wind, 1.36);
  Vtz = terminal_v + 3. * fluctuat_v * cos(3.1415927 / 4.);
  Re = 2. * Rmean * Vtz / 1.3e-5;
  Nu = 1.79 + 0.606 * pow(Re, 0.5);
  sigz = ((EactAir / es) - 1.) * (1.019 + .027 * log(z));
  dMdt = 2 * 3.1415927 * Rmean * sigz * Nu / F;
  psi_t = dMdt / Mz;
  temp = (0.5 * ushear * ushear) / (Wind * 0.3);
  phi_t = phi_r * ((temp + 1.) * pow((z / hsalt), (-1. * 0.3) / (0.40 * ushear)) - temp);
  return psi_t * phi_t;
}
```