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

```asm
<test>:
  endbr64
  push   %rbx
  sub    $0xb0,%rsp
  fldt   0xc0(%rsp)
  movss  %xmm5,0x6c(%rsp)
  pxor   %xmm5,%xmm5
  ucomisd %xmm0,%xmm5
  movsd  %xmm0,(%rsp)
  movsd  %xmm1,0x10(%rsp)
  fstpt  0x40(%rsp)
  fldt   0xd0(%rsp)
  movsd  %xmm2,0x60(%rsp)
  fstpt  0x50(%rsp)
  fldt   0xe0(%rsp)
  movss  %xmm3,0x2c(%rsp)
  fstpt  0x90(%rsp)
  movss  %xmm4,0x68(%rsp)
  ja     L479
  sqrtsd %xmm0,%xmm0
  movapd %xmm5,%xmm6
L589:
  ucomisd %xmm0,%xmm6
  ja     L281
  sqrtsd %xmm0,%xmm0
  movsd  %xmm0,0x30(%rsp)
L735:
  movsd  D52(%rip),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  ucomisd 0x30(%rsp),%xmm0
  jp     L430
  jne    L430
  pxor   %xmm4,%xmm4
  movaps %xmm4,%xmm7
  movss  %xmm4,0x30(%rsp)
  movss  0x2c(%rsp),%xmm4
  ucomiss %xmm4,%xmm7
  ja     L567
  sqrtss %xmm4,%xmm4
  movaps %xmm4,%xmm0
L174:
  movss  0x30(%rsp),%xmm7
  ucomiss %xmm0,%xmm7
  ja     L111
  sqrtss %xmm0,%xmm0
  movss  %xmm0,0x70(%rsp)
L495:
  movss  D45(%rip),%xmm1
  movss  0x2c(%rsp),%xmm0
  call   <powf@plt>
  ucomiss 0x70(%rsp),%xmm0
  jp     L430
  je     L745
L430:
  call   <link_failure_sqrt_sqrt@plt>
L1075:
  movsd  (%rsp),%xmm0
  call   <cbrt@plt>
  pxor   %xmm3,%xmm3
  ucomisd %xmm0,%xmm3
  movapd %xmm0,%xmm7
  movsd  %xmm0,0x70(%rsp)
  ja     L1087
  sqrtsd %xmm7,%xmm7
  movsd  %xmm7,0x30(%rsp)
L677:
  mov    D58(%rip),%rax
  movsd  (%rsp),%xmm0
  movq   %rax,%xmm1
  call   <pow@plt>
  ucomisd 0x30(%rsp),%xmm0
  jp     L737
  jne    L737
  movss  0x2c(%rsp),%xmm0
  call   <cbrtf@plt>
  pxor   %xmm3,%xmm3
  ucomiss %xmm0,%xmm3
  movss  %xmm3,0x30(%rsp)
  ja     L221
  sqrtss %xmm0,%xmm0
  movss  %xmm0,0x80(%rsp)
L830:
  movss  D13(%rip),%xmm1
  movss  0x2c(%rsp),%xmm0
  call   <powf@plt>
  ucomiss 0x80(%rsp),%xmm0
  jp     L737
  je     L5
L737:
  call   <link_failure_sqrt_cbrt@plt>
L83:
  movsd  (%rsp),%xmm5
  pxor   %xmm6,%xmm6
  ucomisd %xmm5,%xmm6
  ja     L969
  sqrtsd %xmm5,%xmm5
  movapd %xmm5,%xmm0
L877:
  call   <cbrt@plt>
  mov    D58(%rip),%rax
  movsd  %xmm0,0x30(%rsp)
  movsd  (%rsp),%xmm0
  movq   %rax,%xmm1
  call   <pow@plt>
  movsd  0x30(%rsp),%xmm2
  ucomisd %xmm0,%xmm2
  jp     L317
  jne    L317
  movss  0x2c(%rsp),%xmm7
  pxor   %xmm6,%xmm6
  movss  %xmm6,0x30(%rsp)
  ucomiss %xmm7,%xmm6
  ja     L1054
  sqrtss %xmm7,%xmm7
  movaps %xmm7,%xmm0
L138:
  call   <cbrtf@plt>
  movss  D13(%rip),%xmm1
  movss  %xmm0,0x80(%rsp)
  movss  0x2c(%rsp),%xmm0
  call   <powf@plt>
  movss  0x80(%rsp),%xmm2
  ucomiss %xmm0,%xmm2
  jp     L317
  je     L32
L317:
  call   <link_failure_cbrt_sqrt@plt>
L1125:
  movsd  (%rsp),%xmm3
  pxor   %xmm5,%xmm5
  ucomisd %xmm3,%xmm5
  ja     L687
  sqrtsd %xmm3,%xmm3
  movapd %xmm3,%xmm0
L839:
  movsd  0x10(%rsp),%xmm1
  call   <pow@plt>
  movsd  0x10(%rsp),%xmm6
  mulsd  D15(%rip),%xmm6
  movsd  %xmm0,0x30(%rsp)
  movsd  (%rsp),%xmm0
  movapd %xmm6,%xmm1
  movq   %xmm6,%rbx
  call   <pow@plt>
  movsd  0x30(%rsp),%xmm2
  ucomisd %xmm0,%xmm2
  jp     L993
  jne    L993
  movss  0x2c(%rsp),%xmm3
  pxor   %xmm5,%xmm5
  movss  %xmm5,0x30(%rsp)
  ucomiss %xmm3,%xmm5
  ja     L1099
  sqrtss %xmm3,%xmm3
  movaps %xmm3,%xmm0
L681:
  movss  0x68(%rsp),%xmm1
  call   <powf@plt>
  movss  D26(%rip),%xmm7
  movss  0x68(%rsp),%xmm1
  movss  %xmm0,0xa0(%rsp)
  movss  0x2c(%rsp),%xmm0
  movss  %xmm7,0x80(%rsp)
  mulss  %xmm7,%xmm1
  call   <powf@plt>
  movss  0xa0(%rsp),%xmm2
  ucomiss %xmm0,%xmm2
  jp     L993
  je     L227
L993:
  call   <link_failure_pow_sqrt@plt>
L733:
  movsd  0x10(%rsp),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  pxor   %xmm4,%xmm4
  ucomisd %xmm0,%xmm4
  ja     L358
  sqrtsd %xmm0,%xmm0
  movsd  %xmm0,0x30(%rsp)
L572:
  movsd  (%rsp),%xmm0
  movq   %rbx,%xmm1
  call   <pow@plt>
  ucomisd 0x30(%rsp),%xmm0
  jp     L850
  jne    L850
  movss  0x68(%rsp),%xmm1
  movss  0x2c(%rsp),%xmm0
  call   <powf@plt>
  pxor   %xmm4,%xmm4
  ucomiss %xmm0,%xmm4
  movss  %xmm4,0x30(%rsp)
  ja     L433
  sqrtss %xmm0,%xmm0
  movss  %xmm0,0xa0(%rsp)
L498:
  movss  D26(%rip),%xmm3
  movss  0x68(%rsp),%xmm1
  movss  0x2c(%rsp),%xmm0
  movss  %xmm3,0x80(%rsp)
  mulss  %xmm3,%xmm1
  call   <powf@plt>
  ucomiss 0xa0(%rsp),%xmm0
  jp     L850
  je     L500
L850:
  call   <link_failure_sqrt_pow@plt>
L163:
  movsd  0x10(%rsp),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  0x60(%rsp),%xmm1
  call   <pow@plt>
  movsd  0x10(%rsp),%xmm3
  mulsd  0x60(%rsp),%xmm3
  movsd  %xmm0,0x30(%rsp)
  movsd  (%rsp),%xmm0
  movapd %xmm3,%xmm1
  call   <pow@plt>
  movsd  0x30(%rsp),%xmm2
  ucomisd %xmm0,%xmm2
  jp     L783
  jne    L783
  movss  0x68(%rsp),%xmm1
  movss  0x2c(%rsp),%xmm0
  call   <powf@plt>
  movss  0x6c(%rsp),%xmm1
  call   <powf@plt>
  movss  0x68(%rsp),%xmm3
  mulss  0x6c(%rsp),%xmm3
  movss  %xmm0,0x30(%rsp)
  movss  0x2c(%rsp),%xmm0
  movaps %xmm3,%xmm1
  call   <powf@plt>
  movss  0x30(%rsp),%xmm2
  ucomiss %xmm0,%xmm2
  jp     L783
  je     L696
L783:
  call   <link_failure_pow_pow@plt>
L514:
  movsd  (%rsp),%xmm4
  pxor   %xmm5,%xmm5
  ucomisd %xmm4,%xmm5
  ja     L669
  sqrtsd %xmm4,%xmm4
  movapd %xmm4,%xmm1
  movapd %xmm5,%xmm4
L307:
  movsd  0x10(%rsp),%xmm6
  ucomisd %xmm6,%xmm4
  ja     L831
  sqrtsd %xmm6,%xmm6
  movapd %xmm4,%xmm7
  movapd %xmm6,%xmm0
L709:
  movsd  (%rsp),%xmm2
  mulsd  0x10(%rsp),%xmm2
  mulsd  %xmm0,%xmm1
  ucomisd %xmm2,%xmm7
  ja     L953
  movapd %xmm2,%xmm0
  sqrtsd %xmm0,%xmm0
L956:
  ucomisd %xmm0,%xmm1
  jp     L715
  jne    L715
  movss  0x2c(%rsp),%xmm6
  pxor   %xmm5,%xmm5
  movss  %xmm5,0x30(%rsp)
  ucomiss %xmm6,%xmm5
  ja     L21
  sqrtss %xmm6,%xmm6
  movaps %xmm5,%xmm4
  movaps %xmm6,%xmm1
L551:
  movss  0x68(%rsp),%xmm5
  ucomiss %xmm5,%xmm4
  ja     L1117
  sqrtss %xmm5,%xmm5
  movaps %xmm4,%xmm7
  movaps %xmm5,%xmm0
L485:
  mulss  %xmm0,%xmm1
  movss  0x2c(%rsp),%xmm0
  mulss  0x68(%rsp),%xmm0
  ucomiss %xmm0,%xmm7
  ja     L76
  sqrtss %xmm0,%xmm0
L407:
  ucomiss %xmm0,%xmm1
  jp     L715
  je     L4
L715:
  movsd  %xmm2,0x30(%rsp)
  call   <link_failure_root_x_root@plt>
  movsd  0x30(%rsp),%xmm2
L882:
  movsd  %xmm2,0x80(%rsp)
  movsd  0x10(%rsp),%xmm0
  call   <cbrt@plt>
  movsd  0x80(%rsp),%xmm2
  movsd  %xmm0,0x30(%rsp)
  movapd %xmm2,%xmm0
  call   <cbrt@plt>
  movsd  0x70(%rsp),%xmm7
  mulsd  0x30(%rsp),%xmm7
  ucomisd %xmm0,%xmm7
  jp     L120
  jne    L120
  movss  0x2c(%rsp),%xmm0
  call   <cbrtf@plt>
  movss  %xmm0,0x30(%rsp)
  movss  0x68(%rsp),%xmm0
  call   <cbrtf@plt>
  movss  0x2c(%rsp),%xmm4
  mulss  0x68(%rsp),%xmm4
  movss  %xmm0,0x70(%rsp)
  movaps %xmm4,%xmm0
  call   <cbrtf@plt>
  movss  0x30(%rsp),%xmm7
  mulss  0x70(%rsp),%xmm7
  ucomiss %xmm0,%xmm7
  jp     L120
  jne    L120
  push   0x48(%rsp)
  push   0x48(%rsp)
  call   <cbrtl@plt>
  pop    %rcx
  pop    %rsi
  fstpt  0x70(%rsp)
  push   0x58(%rsp)
  push   0x58(%rsp)
  call   <cbrtl@plt>
  fstpt  0x40(%rsp)
  fldt   0x50(%rsp)
  fldt   0x60(%rsp)
  fmulp  %st,%st(1)
  fstpt  (%rsp)
  call   <cbrtl@plt>
  pop    %rdi
  pop    %r8
  fldt   0x30(%rsp)
  fldt   0x70(%rsp)
  fmulp  %st,%st(1)
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L120
  je     L1022
  nopl   0x0(%rax,%rax,1)
L120:
  call   <link_failure_root_x_root@plt>
L1022:
  movsd  0x10(%rsp),%xmm1
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  0x60(%rsp),%xmm1
  movsd  %xmm0,0x30(%rsp)
  movsd  (%rsp),%xmm0
  call   <pow@plt>
  movsd  0x10(%rsp),%xmm4
  addsd  0x60(%rsp),%xmm4
  movsd  %xmm0,0x70(%rsp)
  movsd  (%rsp),%xmm0
  movapd %xmm4,%xmm1
  call   <pow@plt>
  movsd  0x30(%rsp),%xmm3
  mulsd  0x70(%rsp),%xmm3
  ucomisd %xmm0,%xmm3
  jp     L483
  jne    L483
  movss  0x68(%rsp),%xmm1
  movss  0x2c(%rsp),%xmm0
  call   <powf@plt>
  movss  0x6c(%rsp),%xmm1
  movss  %xmm0,(%rsp)
  movss  0x2c(%rsp),%xmm0
  call   <powf@plt>
  movss  0x68(%rsp),%xmm6
  addss  0x6c(%rsp),%xmm6
  movss  %xmm0,0x10(%rsp)
  movss  0x2c(%rsp),%xmm0
  movaps %xmm6,%xmm1
  call   <powf@plt>
  movss  (%rsp),%xmm6
  mulss  0x10(%rsp),%xmm6
  ucomiss %xmm0,%xmm6
  jp     L483
  je     L457
L483:
  add    $0xb0,%rsp
  pop    %rbx
  jmp    11b0 <link_failure_pow_x_pow@plt>
  nopl   0x0(%rax)
L696:
  push   0x58(%rsp)
  push   0x58(%rsp)
  push   0x58(%rsp)
  push   0x58(%rsp)
  call   <powl@plt>
  add    $0x20,%rsp
  push   0x98(%rsp)
  push   0x98(%rsp)
  sub    $0x10,%rsp
  fstpt  (%rsp)
  call   <powl@plt>
  fstpt  0x50(%rsp)
  pop    %rcx
  pop    %rsi
  fldt   0x60(%rsp)
  fldt   0xa0(%rsp)
  fmulp  %st,%st(1)
  fstpt  (%rsp)
  push   0x58(%rsp)
  push   0x58(%rsp)
  call   <powl@plt>
  fldt   0x50(%rsp)
  add    $0x20,%rsp
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L783
  je     L514
  jmp    L783
  nopl   0x0(%rax,%rax,1)
L457:
  push   0x58(%rsp)
  push   0x58(%rsp)
  push   0x58(%rsp)
  push   0x58(%rsp)
  call   <powl@plt>
  fstpt  0x30(%rsp)
  add    $0x20,%rsp
  push   0x98(%rsp)
  push   0x98(%rsp)
  push   0x58(%rsp)
  push   0x58(%rsp)
  call   <powl@plt>
  fstpt  0x20(%rsp)
  pop    %rax
  pop    %rdx
  fldt   0x60(%rsp)
  fldt   0xa0(%rsp)
  faddp  %st,%st(1)
  fstpt  (%rsp)
  push   0x58(%rsp)
  push   0x58(%rsp)
  call   <powl@plt>
  fldt   0x20(%rsp)
  fldt   0x30(%rsp)
  add    $0x20,%rsp
  fmulp  %st,%st(1)
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L483
  jne    L483
  add    $0xb0,%rsp
  pop    %rbx
  ret
  nopw   0x0(%rax,%rax,1)
L745:
  fldt   0x40(%rsp)
  fldz
  fucomip %st(1),%st
  ja     L1051
  fsqrt
L719:
  fldz
  fucomip %st(1),%st
  ja     L273
  fsqrt
L238:
  fstpt  0x70(%rsp)
  flds   0x14f2(%rip)        # 3018 <_fini+0xff8>
  fstpt  0x30(%rsp)
  mov    0x30(%rsp),%rax
  mov    0x38(%rsp),%edx
  push   %rdx
  push   %rax
  push   0x58(%rsp)
  push   0x58(%rsp)
  call   <powl@plt>
  fldt   0x90(%rsp)
  fxch   %st(1)
  add    $0x20,%rsp
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L430
  je     L1075
  jmp    L430
  nopl   0x0(%rax)
L5:
  push   0x48(%rsp)
  push   0x48(%rsp)
  call   <cbrtl@plt>
  pop    %rax
  pop    %rdx
  fldz
  fucomip %st(1),%st
  ja     L944
  fsqrt
L780:
  movabs $0xaaaaaaaaaaaaaaab,%r10
  fstpt  0x30(%rsp)
  push   $0x3ffc
  push   %r10
  push   0x58(%rsp)
  push   0x58(%rsp)
  call   <powl@plt>
  fldt   0x50(%rsp)
  fxch   %st(1)
  add    $0x20,%rsp
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L737
  je     L83
  jmp    L737
  nopl   0x0(%rax)
L32:
  fldt   0x40(%rsp)
  fldz
  fucomip %st(1),%st
  ja     L79
  fsqrt
L999:
  sub    $0x10,%rsp
  fstpt  (%rsp)
  call   <cbrtl@plt>
  pop    %rcx
  pop    %rsi
  movabs $0xaaaaaaaaaaaaaaab,%rdi
  fstpt  0x30(%rsp)
  push   $0x3ffc
  push   %rdi
  push   0x58(%rsp)
  push   0x58(%rsp)
  call   <powl@plt>
  fldt   0x50(%rsp)
  add    $0x20,%rsp
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L317
  je     L1125
  jmp    L317
  nopl   0x0(%rax)
L227:
  fldt   0x40(%rsp)
  fldz
  fucomip %st(1),%st
  ja     L642
  fsqrt
L178:
  push   0x58(%rsp)
  push   0x58(%rsp)
  sub    $0x10,%rsp
  fstpt  (%rsp)
  call   <powl@plt>
  fstpt  0x50(%rsp)
  pop    %r10
  pop    %r11
  fldt   0x60(%rsp)
  fmuls  0x90(%rsp)
  fstpt  (%rsp)
  push   0x58(%rsp)
  push   0x58(%rsp)
  call   <powl@plt>
  fldt   0x50(%rsp)
  add    $0x20,%rsp
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L993
  je     L733
  jmp    L993
  nopl   0x0(%rax)
L500:
  push   0x58(%rsp)
  push   0x58(%rsp)
  push   0x58(%rsp)
  push   0x58(%rsp)
  call   <powl@plt>
  add    $0x20,%rsp
  fldz
  fucomip %st(1),%st
  ja     L46
  fsqrt
L164:
  fstpt  0x30(%rsp)
  fldt   0x50(%rsp)
  fmuls  0x80(%rsp)
  sub    $0x10,%rsp
  fstpt  (%rsp)
  push   0x58(%rsp)
  push   0x58(%rsp)
  call   <powl@plt>
  fldt   0x50(%rsp)
  fxch   %st(1)
  add    $0x20,%rsp
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L850
  je     L163
  jmp    L850
  nopw   0x0(%rax,%rax,1)
L4:
  fldt   0x40(%rsp)
  fldz
  fucomip %st(1),%st
  ja     L788
  fsqrt
L194:
  fldt   0x50(%rsp)
  fldz
  fucomip %st(1),%st
  ja     L522
  fsqrt
L1079:
  fmulp  %st,%st(1)
  fldt   0x40(%rsp)
  fldt   0x50(%rsp)
  fmulp  %st,%st(1)
  fldz
  fucomip %st(1),%st
  ja     L576
  fsqrt
  fxch   %st(1)
L204:
  fucomip %st(1),%st
  fstp   %st(0)
  jp     L715
  je     L882
  jmp    L715
L1054:
  movss  0x2c(%rsp),%xmm0
  call   <sqrtf@plt>
  jmp    L138
L21:
  movsd  %xmm2,0x80(%rsp)
  movss  0x2c(%rsp),%xmm0
  call   <sqrtf@plt>
  movss  0x30(%rsp),%xmm4
  movsd  0x80(%rsp),%xmm2
  movaps %xmm0,%xmm1
  jmp    L551
L1099:
  movss  0x2c(%rsp),%xmm0
  call   <sqrtf@plt>
  jmp    L681
L221:
  call   <sqrtf@plt>
  movss  %xmm0,0x80(%rsp)
  jmp    L830
L567:
  movss  0x2c(%rsp),%xmm0
  call   <sqrtf@plt>
  jmp    L174
L433:
  call   <sqrtf@plt>
  movss  %xmm0,0xa0(%rsp)
  jmp    L498
L969:
  movsd  (%rsp),%xmm0
  call   <sqrt@plt>
  jmp    L877
L358:
  call   <sqrt@plt>
  movsd  %xmm0,0x30(%rsp)
  jmp    L572
L687:
  movsd  (%rsp),%xmm0
  call   <sqrt@plt>
  jmp    L839
L281:
  call   <sqrt@plt>
  movsd  %xmm0,0x30(%rsp)
  jmp    L735
L831:
  movsd  0x10(%rsp),%xmm0
  movsd  %xmm1,0x30(%rsp)
  call   <sqrt@plt>
  movsd  0x30(%rsp),%xmm1
  pxor   %xmm7,%xmm7
  jmp    L709
L669:
  movsd  (%rsp),%xmm0
  call   <sqrt@plt>
  pxor   %xmm4,%xmm4
  movapd %xmm0,%xmm1
  jmp    L307
L1087:
  movsd  0x70(%rsp),%xmm0
  call   <sqrt@plt>
  movsd  %xmm0,0x30(%rsp)
  jmp    L677
L479:
  movsd  (%rsp),%xmm0
  call   <sqrt@plt>
  pxor   %xmm6,%xmm6
  jmp    L589
L953:
  movapd %xmm2,%xmm0
  movsd  %xmm2,0x30(%rsp)
  movsd  %xmm1,0x80(%rsp)
  call   <sqrt@plt>
  movsd  0x30(%rsp),%xmm2
  movsd  0x80(%rsp),%xmm1
  jmp    L956
L111:
  call   <sqrtf@plt>
  movss  %xmm0,0x70(%rsp)
  jmp    L495
L1117:
  movss  %xmm1,0xa0(%rsp)
  movss  0x68(%rsp),%xmm0
  movsd  %xmm2,0x80(%rsp)
  call   <sqrtf@plt>
  movss  0x30(%rsp),%xmm7
  movss  0xa0(%rsp),%xmm1
  movsd  0x80(%rsp),%xmm2
  jmp    L485
L76:
  movss  %xmm1,0xa0(%rsp)
  movsd  %xmm2,0x80(%rsp)
  call   <sqrtf@plt>
  movss  0xa0(%rsp),%xmm1
  movsd  0x80(%rsp),%xmm2
  jmp    L407
L1051:
  fstp   %st(0)
  push   0x48(%rsp)
  push   0x48(%rsp)
  call   <sqrtl@plt>
  pop    %r8
  pop    %r9
  jmp    L719
L576:
  fxch   %st(1)
  fstpt  0x80(%rsp)
  movsd  %xmm2,0x30(%rsp)
  push   %r9
  push   %r9
  fstpt  (%rsp)
  call   <sqrtl@plt>
  pop    %r10
  pop    %r11
  fldt   0x80(%rsp)
  movsd  0x30(%rsp),%xmm2
  jmp    L204
L522:
  fstp   %st(0)
  fstpt  0xa0(%rsp)
  movsd  %xmm2,0x80(%rsp)
  push   0x58(%rsp)
  push   0x58(%rsp)
  call   <sqrtl@plt>
  pop    %rbx
  pop    %rax
  movsd  0x80(%rsp),%xmm2
  fldt   0xa0(%rsp)
  fxch   %st(1)
  jmp    L1079
L944:
  push   %r11
  push   %r11
  fstpt  (%rsp)
  call   <sqrtl@plt>
  pop    %rbx
  pop    %rax
  jmp    L780
L273:
  push   %rcx
  push   %rcx
  fstpt  (%rsp)
  call   <sqrtl@plt>
  pop    %rsi
  pop    %rdi
  jmp    L238
L788:
  fstp   %st(0)
  movsd  %xmm2,0x80(%rsp)
  push   0x48(%rsp)
  push   0x48(%rsp)
  call   <sqrtl@plt>
  pop    %rax
  pop    %rdx
  movsd  0x80(%rsp),%xmm2
  jmp    L194
L46:
  push   %rdi
  push   %rdi
  fstpt  (%rsp)
  call   <sqrtl@plt>
  pop    %r8
  pop    %r9
  jmp    L164
L642:
  fstp   %st(0)
  push   0x48(%rsp)
  push   0x48(%rsp)
  call   <sqrtl@plt>
  pop    %rax
  pop    %rdx
  jmp    L178
L79:
  fstp   %st(0)
  push   0x48(%rsp)
  push   0x48(%rsp)
  call   <sqrtl@plt>
  pop    %r8
  pop    %r9
  jmp    L999
```

tool_calls: name: read_data
arguments: label: D52
type_infered: byte[8]
name: read_data
arguments: label: D45
type_infered: byte[4]
name: read_data
arguments: label: D58
type_infered: byte[8]
name: read_data
arguments: label: D13
type_infered: byte[4]
name: read_data
arguments: label: D15
type_infered: byte[8]
name: read_data
arguments: label: D26
type_infered: byte[4]

tool: {"D52": [0x00,0x00,0x00,0x00,0x00,0x00,0xd0,0x3f]}

tool: {"D45": [0x00,0x00,0x80,0x3e]}

tool: {"D58": [0x55,0x55,0x55,0x55,0x55,0x55,0xc5,0x3f]}

tool: {"D13": [0xab,0xaa,0x2a,0x3e]}

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

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

assistant: ```c
void test(double d1, double d2, double d3, float f1, float f2, float f3, long double ld1, long double ld2, long double ld3) {
  extern void link_failure_sqrt_sqrt(void);
  if (sqrt(sqrt(d1)) != pow(d1, 1.0 / (2 * 2)) || sqrtf(sqrtf(f1)) != powf(f1, 1.0F / (2 * 2)) || sqrtl(sqrtl(ld1)) != powl(ld1, 1.0L / (2 * 2)))
    link_failure_sqrt_sqrt();
  extern void link_failure_sqrt_cbrt(void);
  if (sqrt(cbrt(d1)) != pow(d1, 1.0 / (2 * 3)) || sqrtf(cbrtf(f1)) != powf(f1, 1.0F / (2 * 3)) || sqrtl(cbrtl(ld1)) != powl(ld1, 1.0L / (2 * 3)))
    link_failure_sqrt_cbrt();
  extern void link_failure_cbrt_sqrt(void);
  if (cbrt(sqrt(d1)) != pow(d1, 1.0 / (3 * 2)) || cbrtf(sqrtf(f1)) != powf(f1, 1.0F / (3 * 2)) || cbrtl(sqrtl(ld1)) != powl(ld1, 1.0L / (3 * 2)))
    link_failure_cbrt_sqrt();
  extern void link_failure_pow_sqrt(void);
  if (pow(sqrt(d1), d2) != pow(d1, d2 / 2) || powf(sqrtf(f1), f2) != powf(f1, f2 / 2) || powl(sqrtl(ld1), ld2) != powl(ld1, ld2 / 2))
    link_failure_pow_sqrt();
  extern void link_failure_sqrt_pow(void);
  if (sqrt(pow(d1, d2)) != pow(d1, d2 / 2) || sqrtf(powf(f1, f2)) != powf(f1, f2 / 2) || sqrtl(powl(ld1, ld2)) != powl(ld1, ld2 / 2))
    link_failure_sqrt_pow();
  extern void link_failure_pow_pow(void);
  if (pow(pow(d1, d2), d3) != pow(d1, d2 * d3) || powf(powf(f1, f2), f3) != powf(f1, f2 * f3) || powl(powl(ld1, ld2), ld3) != powl(ld1, ld2 * ld3))
    link_failure_pow_pow();
  extern void link_failure_root_x_root(void);
  if (sqrt(d1) * sqrt(d2) != sqrt(d1 * d2) || sqrtf(f1) * sqrtf(f2) != sqrtf(f1 * f2) || sqrtl(ld1) * sqrtl(ld2) != sqrtl(ld1 * ld2))
    link_failure_root_x_root();
  extern void link_failure_root_x_root(void);
  if (cbrt(d1) * cbrt(d2) != cbrt(d1 * d2) || cbrtf(f1) * cbrtf(f2) != cbrtf(f1 * f2) || cbrtl(ld1) * cbrtl(ld2) != cbrtl(ld1 * ld2))
    link_failure_root_x_root();
  extern void link_failure_pow_x_pow(void);
  if (pow(d1, d2) * pow(d1, d3) != pow(d1, d2 + d3) || powf(f1, f2) * powf(f1, f3) != powf(f1, f2 + f3) || powl(ld1, ld2) * powl(ld1, ld3) != powl(ld1, ld2 + ld3))
    link_failure_pow_x_pow();
}
```