user: 请将以下的汇编代码转换成C语言代码：

```asm
<calculate_answer_precise>:
  endbr64
  mov    %edi,%eax
  mov    %esi,%edi
  mov    %edx,%esi
  mov    %ecx,%edx
  mov    0x8(%rsp),%ecx
  mov    0x10(%rsp),%r10d
  cmp    $0x2,%eax
  je     L169
  cmp    $0x3,%eax
  je     L1018
  pxor   %xmm0,%xmm0
  cmp    $0x4,%eax
  je     L333
L586:
  ret
L169:
  cmp    $0x2b,%r9b
  je     L943
  cmp    $0x2d,%r9b
  je     L409
  cmp    $0x2a,%r9b
  je     L284
  pxor   %xmm0,%xmm0
  cmp    $0x2f,%r9b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  ret
L943:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  ret
L409:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  subsd  %xmm1,%xmm0
  ret
L284:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  ret
L1018:
  cmp    $0x2a,%r9b
  je     L161
  cmp    $0x2f,%r9b
  je     L864
  cmp    $0x2b,%r9b
  je     L336
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r9b
  jne    L586
  cmp    $0x2a,%cl
  je     L669
  cmp    $0x2f,%cl
  je     L802
  cmp    $0x2b,%cl
  je     L904
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  subsd  %xmm1,%xmm0
  ret
L161:
  cmp    $0x2a,%cl
  je     L882
  cmp    $0x2f,%cl
  je     L293
  cmp    $0x2b,%cl
  je     L141
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  subsd  %xmm1,%xmm0
  ret
L882:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  ret
L293:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  ret
L141:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  addsd  %xmm1,%xmm0
  ret
L864:
  cmp    $0x2a,%cl
  je     L542
  cmp    $0x2f,%cl
  je     L591
  cmp    $0x2b,%cl
  je     L19
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  subsd  %xmm1,%xmm0
  ret
L542:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  ret
L591:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  ret
L19:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  addsd  %xmm1,%xmm0
  ret
L336:
  cmp    $0x2a,%cl
  je     L181
  cmp    $0x2f,%cl
  je     L216
  cmp    $0x2b,%cl
  je     L838
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  subsd  %xmm1,%xmm0
  ret
L181:
  pxor   %xmm0,%xmm0
  cvtsi2sd %esi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edi,%xmm1
  addsd  %xmm1,%xmm0
  ret
L216:
  pxor   %xmm0,%xmm0
  cvtsi2sd %esi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edi,%xmm1
  addsd  %xmm1,%xmm0
  ret
L838:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  addsd  %xmm1,%xmm0
  ret
L669:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm2
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L802:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L904:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  addsd  %xmm1,%xmm0
  ret
L333:
  cmp    $0x2a,%r9b
  je     L227
  cmp    $0x2f,%r9b
  je     L1016
  cmp    $0x2b,%r9b
  je     L443
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r9b
  jne    L586
  cmp    $0x2a,%cl
  je     L137
  cmp    $0x2f,%cl
  je     L302
  cmp    $0x2b,%cl
  je     L197
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%cl
  jne    L586
  cmp    $0x2a,%r10b
  je     L210
  cmp    $0x2f,%r10b
  je     L713
  cmp    $0x2b,%r10b
  je     L826
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  jmp    L586
L227:
  cmp    $0x2a,%cl
  je     L230
  cmp    $0x2f,%cl
  je     L420
  cmp    $0x2b,%cl
  je     L532
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%cl
  jne    L586
  cmp    $0x2a,%r10b
  je     L631
  cmp    $0x2f,%r10b
  je     L303
  cmp    $0x2b,%r10b
  je     L526
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L230:
  cmp    $0x2a,%r10b
  je     L461
  cmp    $0x2f,%r10b
  je     L836
  cmp    $0x2b,%r10b
  je     L367
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L461:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  mulsd  %xmm1,%xmm0
  ret
L836:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  ret
L367:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L420:
  cmp    $0x2a,%r10b
  je     L1019
  cmp    $0x2f,%r10b
  je     L512
  cmp    $0x2b,%r10b
  je     L378
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L1019:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  mulsd  %xmm1,%xmm0
  ret
L512:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  ret
L378:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L532:
  cmp    $0x2a,%r10b
  je     L896
  cmp    $0x2f,%r10b
  je     L891
  cmp    $0x2b,%r10b
  je     L925
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L896:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L891:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L925:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L631:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L303:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L526:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L1016:
  cmp    $0x2a,%cl
  je     L243
  cmp    $0x2f,%cl
  je     L24
  cmp    $0x2b,%cl
  je     L485
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%cl
  jne    L586
  cmp    $0x2a,%r10b
  je     L824
  cmp    $0x2f,%r10b
  je     L954
  cmp    $0x2b,%r10b
  je     L970
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L243:
  cmp    $0x2a,%r10b
  je     L1078
  cmp    $0x2f,%r10b
  je     L702
  cmp    $0x2b,%r10b
  je     L237
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L1078:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  mulsd  %xmm1,%xmm0
  ret
L702:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  ret
L237:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L24:
  cmp    $0x2a,%r10b
  je     L916
  cmp    $0x2f,%r10b
  je     L37
  cmp    $0x2b,%r10b
  je     L829
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L916:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  mulsd  %xmm1,%xmm0
  ret
L37:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  ret
L829:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L485:
  cmp    $0x2a,%r10b
  je     L175
  cmp    $0x2f,%r10b
  je     L733
  cmp    $0x2b,%r10b
  je     L335
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L175:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L733:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L335:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L824:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L954:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L970:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L443:
  cmp    $0x2a,%cl
  je     L207
  cmp    $0x2f,%cl
  je     L835
  cmp    $0x2b,%cl
  je     L0
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%cl
  jne    L586
  cmp    $0x2a,%r10b
  je     L664
  cmp    $0x2f,%r10b
  je     L539
  cmp    $0x2b,%r10b
  je     L825
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L207:
  cmp    $0x2a,%r10b
  je     L1066
  cmp    $0x2f,%r10b
  je     L1045
  cmp    $0x2b,%r10b
  je     L298
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %esi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L1066:
  pxor   %xmm0,%xmm0
  cvtsi2sd %esi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edi,%xmm1
  addsd  %xmm1,%xmm0
  ret
L1045:
  pxor   %xmm0,%xmm0
  cvtsi2sd %esi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edi,%xmm1
  addsd  %xmm1,%xmm0
  ret
L298:
  pxor   %xmm0,%xmm0
  cvtsi2sd %esi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L835:
  cmp    $0x2a,%r10b
  je     L980
  cmp    $0x2f,%r10b
  je     L898
  cmp    $0x2b,%r10b
  je     L187
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %esi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L980:
  pxor   %xmm0,%xmm0
  cvtsi2sd %esi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  mulsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edi,%xmm1
  addsd  %xmm1,%xmm0
  ret
L898:
  pxor   %xmm0,%xmm0
  cvtsi2sd %esi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edi,%xmm1
  addsd  %xmm1,%xmm0
  ret
L187:
  pxor   %xmm0,%xmm0
  cvtsi2sd %esi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  divsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L0:
  cmp    $0x2a,%r10b
  je     L726
  cmp    $0x2f,%r10b
  je     L276
  cmp    $0x2b,%r10b
  je     L543
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L726:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L276:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L543:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L664:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L539:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L825:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L137:
  cmp    $0x2a,%r10b
  je     L195
  cmp    $0x2f,%r10b
  je     L74
  cmp    $0x2b,%r10b
  je     L975
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm2
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L195:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm2
  mulsd  %xmm2,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L74:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm2
  mulsd  %xmm2,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L975:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm2
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L302:
  cmp    $0x2a,%r10b
  je     L1026
  cmp    $0x2f,%r10b
  je     L855
  cmp    $0x2b,%r10b
  je     L163
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L1026:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm2
  divsd  %xmm2,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L855:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm2
  divsd  %xmm2,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L163:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %edx,%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L197:
  cmp    $0x2a,%r10b
  je     L80
  cmp    $0x2f,%r10b
  je     L479
  cmp    $0x2b,%r10b
  je     L813
  pxor   %xmm0,%xmm0
  cmp    $0x2d,%r10b
  jne    L586
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  subsd  %xmm1,%xmm0
  ret
L80:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L479:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm2,%xmm1
  addsd  %xmm1,%xmm0
  ret
L813:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  addsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
L210:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  mulsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L713:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  pxor   %xmm2,%xmm2
  cvtsi2sd %r8d,%xmm2
  divsd  %xmm2,%xmm1
  subsd  %xmm1,%xmm0
  ret
L826:
  pxor   %xmm0,%xmm0
  cvtsi2sd %edi,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %esi,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %edx,%xmm1
  subsd  %xmm1,%xmm0
  pxor   %xmm1,%xmm1
  cvtsi2sd %r8d,%xmm1
  addsd  %xmm1,%xmm0
  ret
```

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;
}
```