user: 请从给定的汇编指令推导出C源代码:

```asm
<calculate_answer_precise>:
  endbr64
  mov    %edi,%eax
  mov    0x10(%rsp),%r10d
  mov    0x8(%rsp),%edi
  cmp    $0x2,%eax
  je     L600
  cmp    $0x3,%eax
  je     L207
  pxor   %xmm0,%xmm0
  cmp    $0x4,%eax
  je     L921
L517:
  ret
  nopw   0x0(%rax,%rax,1)
L207:
  cmp    $0x2a,%r9b
  je     L21
  cmp    $0x2f,%r9b
  je     L371
  cmp    $0x2b,%r9b
  je     L107
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r9b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm2,%xmm2
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %edx,%xmm2
  cvtsi2sd %ecx,%xmm1
  cmp    $0x2a,%dil
  je     L1022
  cmp    $0x2f,%dil
  je     L784
  subsd  %xmm2,%xmm0
  jmp    L654
  nopl   (%rax)
L600:
  cmp    $0x2b,%r9b
  je     L344
  cmp    $0x2d,%r9b
  je     L959
  cmp    $0x2a,%r9b
  je     L769
  pxor   %xmm0,%xmm0
  cmp    $0x2f,%r9b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  ret
  nopl   0x0(%rax)
L921:
  cmp    $0x2a,%r9b
  je     L337
  cmp    $0x2f,%r9b
  je     L515
  cmp    $0x2b,%r9b
  je     L705
  cmp    $0x2d,%r9b
  jne    L517
  cmp    $0x2a,%dil
  je     L227
  cmp    $0x2f,%dil
  je     L262
  cmp    $0x2b,%dil
  je     L138
  cmp    $0x2d,%dil
  jne    L517
  cmp    $0x2a,%r10b
  je     L682
  cmp    $0x2f,%r10b
  je     L225
  cmp    $0x2b,%r10b
  je     L98
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  jmp    L49
  nopl   0x0(%rax,%rax,1)
L959:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %edx,%xmm1
  subsd  %xmm1,%xmm0
  ret
  nopl   (%rax)
L21:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  cvtsi2sd %edx,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  cmp    $0x2a,%dil
  je     L385
L171:
  cmp    $0x2f,%dil
  je     L437
L654:
  cmp    $0x2b,%dil
  je     L484
L49:
  subsd  %xmm1,%xmm0
  ret
  nopw   0x0(%rax,%rax,1)
L344:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %edx,%xmm1
  addsd  %xmm1,%xmm0
  ret
  nopl   (%rax)
L769:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  ret
  nopl   (%rax)
L337:
  cmp    $0x2a,%dil
  je     L604
  cmp    $0x2f,%dil
  je     L267
  cmp    $0x2b,%dil
  je     L806
  cmp    $0x2d,%dil
  jne    L517
  cmp    $0x2a,%r10b
  je     L213
  cmp    $0x2f,%r10b
  je     L1033
  cmp    $0x2b,%r10b
  je     L479
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
  xchg   %ax,%ax
L371:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  cmp    $0x2a,%dil
  jne    L171
L385:
  mulsd  %xmm1,%xmm0
  ret
  nopl   0x0(%rax,%rax,1)
L705:
  cmp    $0x2a,%dil
  je     L376
  cmp    $0x2f,%dil
  je     L429
  cmp    $0x2b,%dil
  je     L913
  cmp    $0x2d,%dil
  jne    L517
  cmp    $0x2a,%r10b
  je     L732
  cmp    $0x2f,%r10b
  je     L991
  cmp    $0x2b,%r10b
  je     L1085
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
  nopw   0x0(%rax,%rax,1)
L604:
  cmp    $0x2a,%r10b
  je     L211
  cmp    $0x2f,%r10b
  je     L361
  cmp    $0x2b,%r10b
  je     L494
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L167:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  nopl   0x0(%rax,%rax,1)
L367:
  mulsd  %xmm2,%xmm1
L484:
  addsd  %xmm1,%xmm0
  ret
  nopl   0x0(%rax)
L515:
  cmp    $0x2a,%dil
  je     L1084
  cmp    $0x2f,%dil
  je     L738
  cmp    $0x2b,%dil
  je     L818
  cmp    $0x2d,%dil
  jne    L517
  cmp    $0x2a,%r10b
  je     L374
  cmp    $0x2f,%r10b
  je     L1048
  cmp    $0x2b,%r10b
  je     L1030
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
  nopw   0x0(%rax,%rax,1)
L107:
  pxor   %xmm0,%xmm0
  pxor   %xmm2,%xmm2
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %edx,%xmm2
  cvtsi2sd %ecx,%xmm1
  cmp    $0x2a,%dil
  je     L367
  cmp    $0x2f,%dil
  je     L71
  addsd  %xmm2,%xmm0
  jmp    L654
L361:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
L437:
  divsd  %xmm1,%xmm0
  ret
  nopl   0x0(%rax,%rax,1)
L267:
  cmp    $0x2a,%r10b
  je     L365
  cmp    $0x2f,%r10b
  je     L936
  cmp    $0x2b,%r10b
  je     L402
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
  xchg   %ax,%ax
L1084:
  cmp    $0x2a,%r10b
  je     L347
  cmp    $0x2f,%r10b
  je     L355
  cmp    $0x2b,%r10b
  je     L433
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L682:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
L1022:
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L71:
  divsd  %xmm1,%xmm2
  addsd  %xmm2,%xmm0
  ret
L806:
  cmp    $0x2a,%r10b
  je     L284
  cmp    $0x2f,%r10b
  je     L285
  cmp    $0x2b,%r10b
  je     L339
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
  nopl   0x0(%rax,%rax,1)
L376:
  cmp    $0x2a,%r10b
  je     L295
  cmp    $0x2f,%r10b
  je     L425
  cmp    $0x2b,%r10b
  je     L65
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  cvtsi2sd %edx,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
  xchg   %ax,%ax
L738:
  cmp    $0x2a,%r10b
  je     L1053
  cmp    $0x2f,%r10b
  je     L54
  cmp    $0x2b,%r10b
  je     L201
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L211:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  jmp    L385
L818:
  cmp    $0x2a,%r10b
  je     L1071
  cmp    $0x2f,%r10b
  je     L945
  cmp    $0x2b,%r10b
  je     L765
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
  nopw   0x0(%rax,%rax,1)
L429:
  cmp    $0x2a,%r10b
  je     L383
  cmp    $0x2f,%r10b
  je     L884
  cmp    $0x2b,%r10b
  je     L204
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  cvtsi2sd %edx,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
  cs nopw 0x0(%rax,%rax,1)
L784:
  divsd  %xmm1,%xmm2
  subsd  %xmm2,%xmm0
  ret
L227:
  cmp    $0x2a,%r10b
  je     L551
  cmp    $0x2f,%r10b
  je     L14
  cmp    $0x2b,%r10b
  je     L196
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  pxor   %xmm0,%xmm0
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %ecx,%xmm2
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L347:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  mulsd  %xmm1,%xmm0
  ret
L365:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  mulsd  %xmm1,%xmm0
  ret
L262:
  cmp    $0x2a,%r10b
  je     L799
  cmp    $0x2f,%r10b
  je     L356
  cmp    $0x2b,%r10b
  je     L737
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  pxor   %xmm0,%xmm0
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %ecx,%xmm2
  cvtsi2sd %esi,%xmm0
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
  nopl   (%rax)
L913:
  cmp    $0x2a,%r10b
  je     L841
  cmp    $0x2f,%r10b
  je     L156
  cmp    $0x2b,%r10b
  je     L992
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L355:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  ret
L494:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L295:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  cvtsi2sd %edx,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  ret
L284:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L936:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  ret
L1053:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  mulsd  %xmm1,%xmm0
  ret
L138:
  cmp    $0x2a,%r10b
  je     L167
  cmp    $0x2f,%r10b
  je     L1088
  cmp    $0x2b,%r10b
  je     L273
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L517
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L425:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  cvtsi2sd %edx,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  ret
L285:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L54:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  ret
L402:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L433:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L383:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  cvtsi2sd %edx,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  ret
L213:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L551:
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  pxor   %xmm0,%xmm0
  cvtsi2sd %ecx,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm2,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L1071:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L945:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L841:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L1033:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L14:
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  pxor   %xmm0,%xmm0
  cvtsi2sd %ecx,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm2,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L339:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L884:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  cvtsi2sd %edx,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  ret
L201:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L65:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  cvtsi2sd %edx,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L799:
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  pxor   %xmm0,%xmm0
  cvtsi2sd %ecx,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm2,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L374:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L479:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L1048:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L204:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  cvtsi2sd %edx,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L356:
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  pxor   %xmm0,%xmm0
  cvtsi2sd %ecx,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm2,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L732:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L156:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L765:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L196:
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  pxor   %xmm0,%xmm0
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %ecx,%xmm2
  cvtsi2sd %esi,%xmm0
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L1088:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L992:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L1030:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L737:
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  pxor   %xmm0,%xmm0
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %ecx,%xmm2
  cvtsi2sd %esi,%xmm0
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L991:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L273:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  jmp    L484
L1085:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L225:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  cvtsi2sd %r8d,%xmm2
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L98:
  pxor   %xmm0,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  cvtsi2sd %esi,%xmm0
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %ecx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  jmp    L484
```

assistant: ```c
double calculate_answer_precise(int terms, int term1, int term2, int term3, int term4, char operand1, char operand2, char operand3) {
  double answer = 0;
  if (terms == 2) {
    if (operand1 == '+') {
      answer = (double)term1 + (double)term2;
    } else if (operand1 == '-') {
      answer = (double)term1 - (double)term2;
    } else if (operand1 == '*') {
      answer = (double)term1 * (double)term2;
    } else if (operand1 == '/') {
      answer = (double)term1 / (double)term2;
    }
  } else if (terms == 3) {
    if (operand1 == '*') {
      if (operand2 == '*') {
        answer = (double)term1 * (double)term2 * (double)term3;
      } else if (operand2 == '/') {
        answer = (double)term1 * (double)term2 / (double)term3;
      } else if (operand2 == '+') {
        answer = (double)term1 * (double)term2 + (double)term3;
      } else {
        answer = (double)term1 * (double)term2 - (double)term3;
      }
    } else if (operand1 == '/') {
      if (operand2 == '*') {
        answer = (double)term1 / (double)term2 * (double)term3;
      } else if (operand2 == '/') {
        answer = (double)term1 / (double)term2 / (double)term3;
      } else if (operand2 == '+') {
        answer = (double)term1 / (double)term2 + (double)term3;
      } else {
        answer = (double)term1 / (double)term2 - (double)term3;
      }
    } else if (operand1 == '+') {
      if (operand2 == '*') {
        answer = (double)term1 + (double)term2 * (double)term3;
      } else if (operand2 == '/') {
        answer = (double)term1 + (double)term2 / (double)term3;
      } else if (operand2 == '+') {
        answer = (double)term1 + (double)term2 + (double)term3;
      } else {
        answer = (double)term1 + (double)term2 - (double)term3;
      }
    } else if (operand1 == '-') {
      if (operand2 == '*') {
        answer = (double)term1 - (double)term2 * (double)term3;
      } else if (operand2 == '/') {
        answer = (double)term1 - (double)term2 / (double)term3;
      } else if (operand2 == '+') {
        answer = (double)term1 - (double)term2 + (double)term3;
      } else {
        answer = (double)term1 - (double)term2 - (double)term3;
      }
    }
  } else if (terms == 4) {
    if (operand1 == '*') {
      if (operand2 == '*') {
        if (operand3 == '*') {
          answer = (double)term1 * (double)term2 * (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 * (double)term2 * (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 * (double)term2 * (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 * (double)term2 * (double)term3 - (double)term4;
        }
      } else if (operand2 == '/') {
        if (operand3 == '*') {
          answer = (double)term1 * (double)term2 / (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 * (double)term2 / (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 * (double)term2 / (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 * (double)term2 / (double)term3 - (double)term4;
        }
      } else if (operand2 == '+') {
        if (operand3 == '*') {
          answer = (double)term1 * (double)term2 + (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 * (double)term2 + (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 * (double)term2 + (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 * (double)term2 + (double)term3 - (double)term4;
        }
      } else if (operand2 == '-') {
        if (operand3 == '*') {
          answer = (double)term1 * (double)term2 - (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 * (double)term2 - (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 * (double)term2 - (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 * (double)term2 - (double)term3 - (double)term4;
        }
      }
    } else if (operand1 == '/') {
      if (operand2 == '*') {
        if (operand3 == '*') {
          answer = (double)term1 / (double)term2 * (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 / (double)term2 * (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 / (double)term2 * (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 / (double)term2 * (double)term3 - (double)term4;
        }
      } else if (operand2 == '/') {
        if (operand3 == '*') {
          answer = (double)term1 / (double)term2 / (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 / (double)term2 / (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 / (double)term2 / (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 / (double)term2 / (double)term3 - (double)term4;
        }
      } else if (operand2 == '+') {
        if (operand3 == '*') {
          answer = (double)term1 / (double)term2 + (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 / (double)term2 + (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 / (double)term2 + (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 / (double)term2 + (double)term3 - (double)term4;
        }
      } else if (operand2 == '-') {
        if (operand3 == '*') {
          answer = (double)term1 / (double)term2 - (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 / (double)term2 - (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 / (double)term2 - (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 / (double)term2 - (double)term3 - (double)term4;
        }
      }
    } else if (operand1 == '+') {
      if (operand2 == '*') {
        if (operand3 == '*') {
          answer = (double)term1 + (double)term2 * (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 + (double)term2 * (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 + (double)term2 * (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 + (double)term2 * (double)term3 - (double)term4;
        }
      } else if (operand2 == '/') {
        if (operand3 == '*') {
          answer = (double)term1 + (double)term2 / (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 + (double)term2 / (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 + (double)term2 / (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 + (double)term2 / (double)term3 - (double)term4;
        }
      } else if (operand2 == '+') {
        if (operand3 == '*') {
          answer = (double)term1 + (double)term2 + (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 + (double)term2 + (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 + (double)term2 + (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 + (double)term2 + (double)term3 - (double)term4;
        }
      } else if (operand2 == '-') {
        if (operand3 == '*') {
          answer = (double)term1 + (double)term2 - (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 + (double)term2 - (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 + (double)term2 - (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 + (double)term2 - (double)term3 - (double)term4;
        }
      }
    } else if (operand1 == '-') {
      if (operand2 == '*') {
        if (operand3 == '*') {
          answer = (double)term1 - (double)term2 * (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 - (double)term2 * (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 - (double)term2 * (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 - (double)term2 * (double)term3 - (double)term4;
        }
      } else if (operand2 == '/') {
        if (operand3 == '*') {
          answer = (double)term1 - (double)term2 / (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 - (double)term2 / (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 - (double)term2 / (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 - (double)term2 / (double)term3 - (double)term4;
        }
      } else if (operand2 == '+') {
        if (operand3 == '*') {
          answer = (double)term1 - (double)term2 + (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 - (double)term2 + (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 - (double)term2 + (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = term1 - (double)term2 + (double)term3 - (double)term4;
        }
      } else if (operand2 == '-') {
        if (operand3 == '*') {
          answer = (double)term1 - (double)term2 - (double)term3 * (double)term4;
        } else if (operand3 == '/') {
          answer = (double)term1 - (double)term2 - (double)term3 / (double)term4;
        } else if (operand3 == '+') {
          answer = (double)term1 - (double)term2 - (double)term3 + (double)term4;
        } else if (operand3 == '-') {
          answer = (double)term1 - (double)term2 - (double)term3 - (double)term4;
        }
      }
    }
  }
  return answer;
}
```