user: Translate the below assembly code into C programming language:

```asm
<IEC_Scale>:
  endbr64
  movss  D116(%rip),%xmm1
  comiss %xmm0,%xmm1
  ja     L70
  movss  D114(%rip),%xmm1
  comiss %xmm0,%xmm1
  jbe    L29
  addss  D126(%rip),%xmm0
  mulss  D31(%rip),%xmm0
  ret
  nop
L70:
  pxor   %xmm0,%xmm0
  ret
  nopl   (%rax)
L29:
  movss  D233(%rip),%xmm1
  comiss %xmm0,%xmm1
  ja     L79
  movss  D89(%rip),%xmm1
  comiss %xmm0,%xmm1
  jbe    L57
  addss  D44(%rip),%xmm0
  mulss  D93(%rip),%xmm0
  addss  D163(%rip),%xmm0
  ret
  nopl   0x0(%rax,%rax,1)
L79:
  addss  D74(%rip),%xmm0
  mulss  D19(%rip),%xmm0
  addss  D205(%rip),%xmm0
  ret
  nopl   0x0(%rax)
L57:
  movss  D194(%rip),%xmm1
  comiss %xmm0,%xmm1
  ja     L5
  movss  D202(%rip),%xmm1
  comiss %xmm0,%xmm1
  jbe    L45
  addss  D12(%rip),%xmm0
  mulss  D168(%rip),%xmm0
  addss  D95(%rip),%xmm0
  ret
  nopl   0x0(%rax,%rax,1)
L5:
  addss  D170(%rip),%xmm0
  mulss  D52(%rip),%xmm0
  addss  D189(%rip),%xmm0
  ret
  nopl   0x0(%rax)
L45:
  movss  D24(%rip),%xmm1
  comiss %xmm0,%xmm1
  ja     L59
  comiss D72(%rip),%xmm0
  ja     L59
  movss  D15(%rip),%xmm0
  ret
  nopw   0x0(%rax,%rax,1)
L59:
  addss  D120(%rip),%xmm0
  mulss  D205(%rip),%xmm0
  addss  D216(%rip),%xmm0
  ret
```

tool_calls: name: extract_symbolic_data
arguments: data_tag: D116
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D114
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D126
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D31
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D233
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D89
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D44
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D93
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D163
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D74
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D19
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D205
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D194
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D202
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D12
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D168
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D95
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D170
type_infered: f32
name: extract_symbolic_data
arguments: data_tag: D52
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D189
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D24
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D72
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D15
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D120
type_infered: byte[4]
name: extract_symbolic_data
arguments: data_tag: D216
type_infered: byte[4]

tool: {"D116": [0x00,0x00,0x8c,0xc2]}

tool: {"D114": [0x00,0x00,0x70,0xc2]}

tool: {"D126": [0x00,0x00,0x8c,0x42]}

tool: {"D31": [0x0a,0xd7,0x23,0x3b]}

tool: {"D233": [0x00,0x00,0x48,0xc2]}

tool: {"D89": [0x00,0x00,0x20,0xc2]}

tool: {"D44": [0x00,0x00,0x48,0x42]}

tool: {"D93": [0x8f,0xc2,0xf5,0x3b]}

tool: {"D163": [0x9a,0x99,0x99,0x3d]}

tool: {"D74": [0x00,0x00,0x70,0x42]}

tool: {"D19": [0x0a,0xd7,0xa3,0x3b]}

tool: {"D205": [0xcd,0xcc,0xcc,0x3c]}

tool: {"D194": [0x00,0x00,0xf0,0xc1]}

tool: {"D202": [0x00,0x00,0xa0,0xc1]}

tool: {"D12": [0x00,0x00,0xf0,0x41]}

tool: {"D168": [0x0a,0xd7,0xa3,0x3c]}

tool: {"D95": [0x9a,0x99,0x99,0x3e]}

tool: D170: 40

tool: {"D52": [0x8f,0xc2,0x75,0x3c]}

tool: {"D189": [0x9a,0x99,0x19,0x3e]}

tool: {"D24": [0x6f,0x12,0x83,0xba]}

tool: {"D72": [0x6f,0x12,0x83,0x3a]}

tool: {"D15": [0x00,0x00,0x80,0x3f]}

tool: {"D120": [0x00,0x00,0xa0,0x41]}

tool: {"D216": [0x00,0x00,0x00,0x3f]}

assistant: ```c
float IEC_Scale(float dB) {
  float fScale = 1.0f;
  if (dB < -70.0f)
    fScale = 0.0f;
  else if (dB < -60.0f)
    fScale = (dB + 70.0f) * 0.0025f;
  else if (dB < -50.0f)
    fScale = (dB + 60.0f) * 0.005f + 0.025f;
  else if (dB < -40.0)
    fScale = (dB + 50.0f) * 0.0075f + 0.075f;
  else if (dB < -30.0f)
    fScale = (dB + 40.0f) * 0.015f + 0.15f;
  else if (dB < -20.0f)
    fScale = (dB + 30.0f) * 0.02f + 0.3f;
  else if (dB < -0.001f || dB > 0.001f)
    fScale = (dB + 20.0f) * 0.025f + 0.5f;
  return fScale;
}
```