#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ memset(double *, int /*<<< orphan*/, int);
int seanindex(int, int, int);
int so3CoefLoc(int, int, int, int);
int sqrt(int);
int totalCoeffs_so3(int);
void so3CombineCoef(int bwIn, int bwOut, int degLim, double *sigCoefR,
                    double *sigCoefI, double *patCoefR, double *patCoefI,
                    double *so3CoefR, double *so3CoefI) {
  int l, m1, m2;
  int fudge, dummy;
  double tmpSigCoefR, tmpSigCoefI;
  double tmpPatCoefR, tmpPatCoefI;
  double wigNorm;
  memset(so3CoefR, 0, sizeof(double) * totalCoeffs_so3(bwOut));
  memset(so3CoefI, 0, sizeof(double) * totalCoeffs_so3(bwOut));
  for (l = 0; l <= degLim; l++) {
    wigNorm = 2. * 3.14159265358979323846 * sqrt(2. / (2. * l + 1));
    for (m1 = -l; m1 <= l; m1++) {
      dummy = seanindex(-m1, l, bwIn);
      tmpSigCoefR = sigCoefR[dummy];
      tmpSigCoefI = sigCoefI[dummy];
      if ((m1 + l) % 2)
        fudge = -1;
      else
        fudge = 1;
      for (m2 = -l; m2 <= l; m2++) {
        dummy = seanindex(-m2, l, bwIn);
        tmpPatCoefR = fudge * patCoefR[dummy];
        tmpPatCoefI = fudge * (-patCoefI[dummy]);
        dummy = so3CoefLoc(m1, m2, l, bwOut);
        so3CoefR[dummy] =
            wigNorm * (tmpSigCoefR * tmpPatCoefR - tmpSigCoefI * tmpPatCoefI);
        so3CoefI[dummy] =
            wigNorm * (tmpSigCoefR * tmpPatCoefI + tmpSigCoefI * tmpPatCoefR);
        fudge *= -1;
      }
    }
  }
}


x86 assembly (clang, -O0):
<so3CombineCoef>:
push   %rbp
mov    %rsp,%rbp
sub    $0x80,%rsp
mov    0x20(%rbp),%rax
mov    0x18(%rbp),%rax
mov    0x10(%rbp),%rax
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %edx,-0xc(%rbp)
mov    %rcx,-0x18(%rbp)
mov    %r8,-0x20(%rbp)
mov    %r9,-0x28(%rbp)
mov    0x18(%rbp),%rax
mov    %rax,-0x78(%rbp)
mov    -0x8(%rbp),%edi
call   1060 <totalCoeffs_so3@plt>
mov    -0x78(%rbp),%rdi
cltq
shl    $0x3,%rax
mov    %eax,%edx
xor    %esi,%esi
call   1030 <memset@plt>
mov    0x20(%rbp),%rax
mov    %rax,-0x70(%rbp)
mov    -0x8(%rbp),%edi
call   1060 <totalCoeffs_so3@plt>
mov    -0x70(%rbp),%rdi
cltq
shl    $0x3,%rax
mov    %eax,%edx
xor    %esi,%esi
call   1030 <memset@plt>
movl   $0x0,-0x2c(%rbp)
mov    -0x2c(%rbp),%eax
cmp    -0xc(%rbp),%eax
jg     13c3 <so3CombineCoef+0x273>
cvtsi2sdl -0x2c(%rbp),%xmm1
addsd  %xmm1,%xmm1
movsd  0xe2a(%rip),%xmm0
addsd  %xmm0,%xmm1
movsd  0xe16(%rip),%xmm0
divsd  %xmm1,%xmm0
cvttsd2si %xmm0,%edi
call   1050 <sqrt@plt>
cvtsi2sd %eax,%xmm1
movsd  0xdf5(%rip),%xmm0
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x68(%rbp)
xor    %eax,%eax
sub    -0x2c(%rbp),%eax
mov    %eax,-0x30(%rbp)
mov    -0x30(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     13b0 <so3CombineCoef+0x260>
xor    %edi,%edi
sub    -0x30(%rbp),%edi
mov    -0x2c(%rbp),%esi
mov    -0x4(%rbp),%edx
call   1070 <seanindex@plt>
mov    %eax,-0x3c(%rbp)
mov    -0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x48(%rbp)
mov    -0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x50(%rbp)
mov    -0x30(%rbp),%eax
add    -0x2c(%rbp),%eax
mov    $0x2,%ecx
cltd
idiv   %ecx
cmp    $0x0,%edx
je     1282 <so3CombineCoef+0x132>
movl   $0xffffffff,-0x38(%rbp)
jmp    1289 <so3CombineCoef+0x139>
movl   $0x1,-0x38(%rbp)
xor    %eax,%eax
sub    -0x2c(%rbp),%eax
mov    %eax,-0x34(%rbp)
mov    -0x34(%rbp),%eax
cmp    -0x2c(%rbp),%eax
jg     139d <so3CombineCoef+0x24d>
xor    %edi,%edi
sub    -0x34(%rbp),%edi
mov    -0x2c(%rbp),%esi
mov    -0x4(%rbp),%edx
call   1070 <seanindex@plt>
mov    %eax,-0x3c(%rbp)
cvtsi2sdl -0x38(%rbp),%xmm0
mov    -0x28(%rbp),%rax
movslq -0x3c(%rbp),%rcx
mulsd  (%rax,%rcx,8),%xmm0
movsd  %xmm0,-0x58(%rbp)
cvtsi2sdl -0x38(%rbp),%xmm0
mov    0x10(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movsd  (%rax,%rcx,8),%xmm1
movq   %xmm1,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm1
mulsd  %xmm1,%xmm0
movsd  %xmm0,-0x60(%rbp)
mov    -0x30(%rbp),%edi
mov    -0x34(%rbp),%esi
mov    -0x2c(%rbp),%edx
mov    -0x8(%rbp),%ecx
call   1040 <so3CoefLoc@plt>
mov    %eax,-0x3c(%rbp)
movsd  -0x68(%rbp),%xmm0
movsd  -0x48(%rbp),%xmm1
movsd  -0x58(%rbp),%xmm3
movsd  -0x50(%rbp),%xmm2
mulsd  -0x60(%rbp),%xmm2
movq   %xmm2,%rax
movabs $0x8000000000000000,%rcx
xor    %rcx,%rax
movq   %rax,%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    0x18(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
movsd  -0x68(%rbp),%xmm0
movsd  -0x48(%rbp),%xmm1
movsd  -0x60(%rbp),%xmm3
movsd  -0x50(%rbp),%xmm2
mulsd  -0x58(%rbp),%xmm2
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
mulsd  %xmm1,%xmm0
mov    0x20(%rbp),%rax
movslq -0x3c(%rbp),%rcx
movsd  %xmm0,(%rax,%rcx,8)
imul   $0xffffffff,-0x38(%rbp),%eax
mov    %eax,-0x38(%rbp)
mov    -0x34(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x34(%rbp)
jmp    1291 <so3CombineCoef+0x141>
jmp    13a2 <so3CombineCoef+0x252>
mov    -0x30(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x30(%rbp)
jmp    121c <so3CombineCoef+0xcc>
jmp    13b5 <so3CombineCoef+0x265>
mov    -0x2c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x2c(%rbp)
jmp    11c9 <so3CombineCoef+0x79>
add    $0x80,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<so3CombineCoef>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x98,%rsp
mov    %r9,0x40(%rsp)
mov    %r8,0x38(%rsp)
mov    %rcx,0x30(%rsp)
mov    %edx,%r14d
mov    %esi,%ebx
mov    %edi,%ebp
mov    0xe0(%rsp),%r12
mov    0xd8(%rsp),%r13
mov    %esi,%edi
call   1060 <totalCoeffs_so3@plt>
lea    0x0(,%rax,8),%edx
xor    %r15d,%r15d
mov    %r13,%rdi
xor    %esi,%esi
call   1030 <memset@plt>
mov    %ebx,0x28(%rsp)
mov    %ebx,%edi
call   1060 <totalCoeffs_so3@plt>
lea    0x0(,%rax,8),%edx
mov    %r12,%rdi
xor    %esi,%esi
call   1030 <memset@plt>
mov    %r14d,0x24(%rsp)
test   %r14d,%r14d
js     13b0 <so3CombineCoef+0x260>
movl   $0x1,0xc(%rsp)
mov    $0xffffffff,%ecx
mov    %ebp,0x14(%rsp)
mov    0x28(%rsp),%r12d
cs nopw 0x0(%rax,%rax,1)
nopl   0x0(%rax)
mov    %ecx,0x10(%rsp)
xorps  %xmm0,%xmm0
cvtsi2sd %r15d,%xmm0
addsd  %xmm0,%xmm0
addsd  0xdf8(%rip),%xmm0
movsd  0xdf8(%rip),%xmm1
divsd  %xmm0,%xmm1
cvttsd2si %xmm1,%edi
call   1050 <sqrt@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %eax,%xmm0
mulsd  0xde4(%rip),%xmm0
movsd  %xmm0,0x48(%rsp)
mov    %r15d,%eax
neg    %eax
mov    %eax,0x2c(%rsp)
mov    %rax,0x18(%rsp)
mov    0x18(%rsp),%rbx
mov    %ebx,%edi
neg    %edi
mov    %r15d,%esi
mov    %ebp,%edx
call   1070 <seanindex@plt>
cltq
mov    0x30(%rsp),%rcx
movsd  (%rcx,%rax,8),%xmm0
movsd  %xmm0,0x50(%rsp)
lea    (%rbx,%r15,1),%ecx
and    $0x1,%ecx
neg    %ecx
sbb    %ebp,%ebp
mov    0x38(%rsp),%rcx
movsd  (%rcx,%rax,8),%xmm0
or     $0x1,%ebp
movaps %xmm0,0x70(%rsp)
movaps %xmm0,%xmm1
movaps 0xd94(%rip),%xmm0
xorps  %xmm0,%xmm1
movaps %xmm1,0x60(%rsp)
xor    %ebx,%ebx
mov    0x2c(%rsp),%r14d
mov    0x10(%rsp),%r13d
lea    (%r15,%rbx,1),%edi
mov    %r15d,%esi
mov    0x14(%rsp),%edx
call   1070 <seanindex@plt>
xorps  %xmm0,%xmm0
cvtsi2sd %ebp,%xmm0
cltq
mov    0x40(%rsp),%rcx
movsd  (%rcx,%rax,8),%xmm1
mulsd  %xmm0,%xmm1
movsd  %xmm1,0x58(%rsp)
mov    0xd0(%rsp),%rcx
movsd  (%rcx,%rax,8),%xmm1
xorpd  0xd3e(%rip),%xmm1
mulsd  %xmm0,%xmm1
movapd %xmm1,0x80(%rsp)
mov    0x18(%rsp),%rdi
mov    %r14d,%esi
mov    %r15d,%edx
mov    %r12d,%ecx
call   1040 <so3CoefLoc@plt>
movsd  0x50(%rsp),%xmm1
movapd %xmm1,%xmm0
movapd 0x80(%rsp),%xmm2
mulsd  %xmm2,%xmm0
mulsd  0x60(%rsp),%xmm2
movsd  0x58(%rsp),%xmm3
mulsd  %xmm3,%xmm1
addsd  %xmm2,%xmm1
movsd  0x48(%rsp),%xmm2
mulsd  %xmm2,%xmm1
cltq
mov    0xd8(%rsp),%rcx
movsd  %xmm1,(%rcx,%rax,8)
movapd %xmm3,%xmm1
mulsd  0x70(%rsp),%xmm1
addsd  %xmm0,%xmm1
mulsd  %xmm2,%xmm1
mov    0xe0(%rsp),%rcx
movsd  %xmm1,(%rcx,%rax,8)
neg    %ebp
add    $0x1,%r14d
add    $0xffffffff,%ebx
cmp    %ebx,%r13d
jne    12a0 <so3CombineCoef+0x150>
mov    0x18(%rsp),%rax
add    $0x1,%eax
mov    %rax,0x18(%rsp)
cmp    0xc(%rsp),%eax
mov    0x14(%rsp),%ebp
jne    1240 <so3CombineCoef+0xf0>
lea    0x1(%r15),%eax
addl   $0x1,0xc(%rsp)
mov    0x10(%rsp),%ecx
add    $0xfffffffe,%ecx
cmp    0x24(%rsp),%r15d
mov    %eax,%r15d
jne    11f0 <so3CombineCoef+0xa0>
add    $0x98,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @so3CombineCoef(i32 %0, i32 %1, i32 %2, double* %3, double* %4, double* %5, double* %6, double* %7, double* %8) {
%10 = alloca i32
%11 = alloca i32
%12 = alloca i32
%13 = alloca double*
%14 = alloca double*
%15 = alloca double*
%16 = alloca double*
%17 = alloca double*
%18 = alloca double*
%19 = alloca i32
%20 = alloca i32
%21 = alloca i32
%22 = alloca i32
%23 = alloca i32
%24 = alloca double
%25 = alloca double
%26 = alloca double
%27 = alloca double
%28 = alloca double
store i32 %0, i32* %10
store i32 %1, i32* %11
store i32 %2, i32* %12
store double* %3, double** %13
store double* %4, double** %14
store double* %5, double** %15
store double* %6, double** %16
store double* %7, double** %17
store double* %8, double** %18
%29 = load double*, double** %17
%30 = load i32, i32* %11
%31 = call i32 @totalCoeffs_so3(i32 %30)
%32 = sext i32 %31 to i64
%33 = mul i64 8, %32
%34 = trunc i64 %33 to i32
%35 = call i32 @memset(double* %29, i32 0, i32 %34)
%36 = load double*, double** %18
%37 = load i32, i32* %11
%38 = call i32 @totalCoeffs_so3(i32 %37)
%39 = sext i32 %38 to i64
%40 = mul i64 8, %39
%41 = trunc i64 %40 to i32
%42 = call i32 @memset(double* %36, i32 0, i32 %41)
store i32 0, i32* %19
br label %43
43: ; preds = %155, %9
%44 = load i32, i32* %19
%45 = load i32, i32* %12
%46 = icmp sle i32 %44, %45
br i1 %46, label %47, label %158
47: ; preds = %43
%48 = load i32, i32* %19
%49 = sitofp i32 %48 to double
%50 = call double @llvm.fmuladd.f64(double 2.000000e+00, double %49, double 1.000000e+00)
%51 = fdiv double 2.000000e+00, %50
%52 = fptosi double %51 to i32
%53 = call i32 @sqrt(i32 %52)
%54 = sitofp i32 %53 to double
%55 = fmul double 0x401921FB54442D18, %54
store double %55, double* %28
%56 = load i32, i32* %19
%57 = sub nsw i32 0, %56
store i32 %57, i32* %20
br label %58
58: ; preds = %151, %47
%59 = load i32, i32* %20
%60 = load i32, i32* %19
%61 = icmp sle i32 %59, %60
br i1 %61, label %62, label %154
62: ; preds = %58
%63 = load i32, i32* %20
%64 = sub nsw i32 0, %63
%65 = load i32, i32* %19
%66 = load i32, i32* %10
%67 = call i32 @seanindex(i32 %64, i32 %65, i32 %66)
store i32 %67, i32* %23
%68 = load double*, double** %13
%69 = load i32, i32* %23
%70 = sext i32 %69 to i64
%71 = getelementptr inbounds double, double* %68, i64 %70
%72 = load double, double* %71
store double %72, double* %24
%73 = load double*, double** %14
%74 = load i32, i32* %23
%75 = sext i32 %74 to i64
%76 = getelementptr inbounds double, double* %73, i64 %75
%77 = load double, double* %76
store double %77, double* %25
%78 = load i32, i32* %20
%79 = load i32, i32* %19
%80 = add nsw i32 %78, %79
%81 = srem i32 %80, 2
%82 = icmp ne i32 %81, 0
br i1 %82, label %83, label %84
83: ; preds = %62
store i32 -1, i32* %22
br label %85
84: ; preds = %62
store i32 1, i32* %22
br label %85
85: ; preds = %84, %83
%86 = load i32, i32* %19
%87 = sub nsw i32 0, %86
store i32 %87, i32* %21
br label %88
88: ; preds = %147, %85
%89 = load i32, i32* %21
%90 = load i32, i32* %19
%91 = icmp sle i32 %89, %90
br i1 %91, label %92, label %150
92: ; preds = %88
%93 = load i32, i32* %21
%94 = sub nsw i32 0, %93
%95 = load i32, i32* %19
%96 = load i32, i32* %10
%97 = call i32 @seanindex(i32 %94, i32 %95, i32 %96)
store i32 %97, i32* %23
%98 = load i32, i32* %22
%99 = sitofp i32 %98 to double
%100 = load double*, double** %15
%101 = load i32, i32* %23
%102 = sext i32 %101 to i64
%103 = getelementptr inbounds double, double* %100, i64 %102
%104 = load double, double* %103
%105 = fmul double %99, %104
store double %105, double* %26
%106 = load i32, i32* %22
%107 = sitofp i32 %106 to double
%108 = load double*, double** %16
%109 = load i32, i32* %23
%110 = sext i32 %109 to i64
%111 = getelementptr inbounds double, double* %108, i64 %110
%112 = load double, double* %111
%113 = fneg double %112
%114 = fmul double %107, %113
store double %114, double* %27
%115 = load i32, i32* %20
%116 = load i32, i32* %21
%117 = load i32, i32* %19
%118 = load i32, i32* %11
%119 = call i32 @so3CoefLoc(i32 %115, i32 %116, i32 %117, i32 %118)
store i32 %119, i32* %23
%120 = load double, double* %28
%121 = load double, double* %24
%122 = load double, double* %26
%123 = load double, double* %25
%124 = load double, double* %27
%125 = fmul double %123, %124
%126 = fneg double %125
%127 = call double @llvm.fmuladd.f64(double %121, double %122, double %126)
%128 = fmul double %120, %127
%129 = load double*, double** %17
%130 = load i32, i32* %23
%131 = sext i32 %130 to i64
%132 = getelementptr inbounds double, double* %129, i64 %131
store double %128, double* %132
%133 = load double, double* %28
%134 = load double, double* %24
%135 = load double, double* %27
%136 = load double, double* %25
%137 = load double, double* %26
%138 = fmul double %136, %137
%139 = call double @llvm.fmuladd.f64(double %134, double %135, double %138)
%140 = fmul double %133, %139
%141 = load double*, double** %18
%142 = load i32, i32* %23
%143 = sext i32 %142 to i64
%144 = getelementptr inbounds double, double* %141, i64 %143
store double %140, double* %144
%145 = load i32, i32* %22
%146 = mul nsw i32 %145, -1
store i32 %146, i32* %22
br label %147
147: ; preds = %92
%148 = load i32, i32* %21
%149 = add nsw i32 %148, 1
store i32 %149, i32* %21
br label %88
150: ; preds = %88
br label %151
151: ; preds = %150
%152 = load i32, i32* %20
%153 = add nsw i32 %152, 1
store i32 %153, i32* %20
br label %58
154: ; preds = %58
br label %155
155: ; preds = %154
%156 = load i32, i32* %19
%157 = add nsw i32 %156, 1
store i32 %157, i32* %19
br label %43
158: ; preds = %43
ret void
}

LLVM IR (-O2):
define void @so3CombineCoef(i32 %0, i32 %1, i32 %2, double* nocapture %3, double* nocapture %4, double* nocapture %5, double* nocapture %6, double* %7, double* %8) {
%10 = tail call i32 @totalCoeffs_so3(i32 %1)
%11 = shl i32 %10, 3
%12 = tail call i32 @memset(double* %7, i32 0, i32 %11)
%13 = tail call i32 @totalCoeffs_so3(i32 %1)
%14 = shl i32 %13, 3
%15 = tail call i32 @memset(double* %8, i32 0, i32 %14)
%16 = icmp slt i32 %2, 0
br i1 %16, label %76, label %17
17: ; preds = %9, %72
%18 = phi i32 [ %74, %72 ], [ 1, %9 ]
%19 = phi i32 [ %73, %72 ], [ 0, %9 ]
%20 = sitofp i32 %19 to double
%21 = tail call double @llvm.fmuladd.f64(double %20, double 2.000000e+00, double 1.000000e+00)
%22 = fdiv double 2.000000e+00, %21
%23 = fptosi double %22 to i32
%24 = tail call i32 @sqrt(i32 %23)
%25 = sitofp i32 %24 to double
%26 = fmul double %25, 0x401921FB54442D18
%27 = sub nsw i32 0, %19
br label %28
28: ; preds = %69, %17
%29 = phi i32 [ %27, %17 ], [ %70, %69 ]
%30 = sub nsw i32 0, %29
%31 = tail call i32 @seanindex(i32 %30, i32 %19, i32 %0)
%32 = sext i32 %31 to i64
%33 = getelementptr inbounds double, double* %3, i64 %32
%34 = load double, double* %33
%35 = getelementptr inbounds double, double* %4, i64 %32
%36 = load double, double* %35
%37 = add nsw i32 %29, %19
%38 = and i32 %37, 1
%39 = icmp eq i32 %38, 0
%40 = select i1 %39, i32 1, i32 -1
%41 = fneg double %36
br label %42
42: ; preds = %28, %42
%43 = phi i32 [ %27, %28 ], [ %67, %42 ]
%44 = phi i32 [ %40, %28 ], [ %66, %42 ]
%45 = sub nsw i32 0, %43
%46 = tail call i32 @seanindex(i32 %45, i32 %19, i32 %0)
%47 = sitofp i32 %44 to double
%48 = sext i32 %46 to i64
%49 = getelementptr inbounds double, double* %5, i64 %48
%50 = load double, double* %49
%51 = fmul double %50, %47
%52 = getelementptr inbounds double, double* %6, i64 %48
%53 = load double, double* %52
%54 = fneg double %53
%55 = fmul double %47, %54
%56 = tail call i32 @so3CoefLoc(i32 %29, i32 %43, i32 %19, i32 %1)
%57 = fmul double %55, %41
%58 = tail call double @llvm.fmuladd.f64(double %34, double %51, double %57)
%59 = fmul double %26, %58
%60 = sext i32 %56 to i64
%61 = getelementptr inbounds double, double* %7, i64 %60
store double %59, double* %61
%62 = fmul double %36, %51
%63 = tail call double @llvm.fmuladd.f64(double %34, double %55, double %62)
%64 = fmul double %26, %63
%65 = getelementptr inbounds double, double* %8, i64 %60
store double %64, double* %65
%66 = sub nsw i32 0, %44
%67 = add i32 %43, 1
%68 = icmp eq i32 %67, %18
br i1 %68, label %69, label %42
69: ; preds = %42
%70 = add i32 %29, 1
%71 = icmp eq i32 %70, %18
br i1 %71, label %72, label %28
72: ; preds = %69
%73 = add nuw i32 %19, 1
%74 = add nuw i32 %18, 1
%75 = icmp eq i32 %19, %2
br i1 %75, label %76, label %17
76: ; preds = %72, %9
ret void
}