#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*/ mpu_get_accel_fsr(unsigned char *);
scalar_t__ mpu_write_mem(int, int, unsigned char *);
int dmp_set_tap_thresh(unsigned char axis, unsigned short thresh) {
  unsigned char tmp[4], accel_fsr;
  float scaled_thresh;
  unsigned short dmp_thresh, dmp_thresh_2;
  if (!(axis & (0x07)) || thresh > 1600)
    return -1;
  scaled_thresh = (float)thresh / (200);
  mpu_get_accel_fsr(&accel_fsr);
  switch (accel_fsr) {
  case 2:
    dmp_thresh = (unsigned short)(scaled_thresh * 16384);
    dmp_thresh_2 = (unsigned short)(scaled_thresh * 12288);
    break;
  case 4:
    dmp_thresh = (unsigned short)(scaled_thresh * 8192);
    dmp_thresh_2 = (unsigned short)(scaled_thresh * 6144);
    break;
  case 8:
    dmp_thresh = (unsigned short)(scaled_thresh * 4096);
    dmp_thresh_2 = (unsigned short)(scaled_thresh * 3072);
    break;
  case 16:
    dmp_thresh = (unsigned short)(scaled_thresh * 2048);
    dmp_thresh_2 = (unsigned short)(scaled_thresh * 1536);
    break;
  default:
    return -1;
  }
  tmp[0] = (unsigned char)(dmp_thresh >> 8);
  tmp[1] = (unsigned char)(dmp_thresh & 0xFF);
  tmp[2] = (unsigned char)(dmp_thresh_2 >> 8);
  tmp[3] = (unsigned char)(dmp_thresh_2 & 0xFF);
  if (axis & (0x01)) {
    if (mpu_write_mem(468, 2, tmp))
      return -1;
    if (mpu_write_mem((256 + 36), 2, tmp + 2))
      return -1;
  }
  if (axis & (0x02)) {
    if (mpu_write_mem(472, 2, tmp))
      return -1;
    if (mpu_write_mem((256 + 40), 2, tmp + 2))
      return -1;
  }
  if (axis & (0x04)) {
    if (mpu_write_mem(476, 2, tmp))
      return -1;
    if (mpu_write_mem((256 + 44), 2, tmp + 2))
      return -1;
  }
  return 0;
}


x86 assembly (clang, -O0):
<dmp_set_tap_thresh>:
push   %rbp
mov    %rsp,%rbp
sub    $0x20,%rsp
mov    %si,%ax
mov    %dil,%cl
mov    %cl,-0x5(%rbp)
mov    %ax,-0x8(%rbp)
movzbl -0x5(%rbp),%eax
and    $0x7,%eax
cmp    $0x0,%eax
je     1154 <dmp_set_tap_thresh+0x34>
movzwl -0x8(%rbp),%eax
cmp    $0x640,%eax
jle    1160 <dmp_set_tap_thresh+0x40>
movl   $0xffffffff,-0x4(%rbp)
jmp    1408 <dmp_set_tap_thresh+0x2e8>
movzwl -0x8(%rbp),%eax
cvtsi2ss %eax,%xmm0
movss  0xe90(%rip),%xmm1
divss  %xmm1,%xmm0
movss  %xmm0,-0x14(%rbp)
lea    -0xd(%rbp),%rdi
call   1030 <mpu_get_accel_fsr@plt>
movzbl -0xd(%rbp),%eax
add    $0xfffffffe,%eax
mov    %eax,%ecx
mov    %rcx,-0x20(%rbp)
sub    $0xe,%eax
ja     1288 <dmp_set_tap_thresh+0x168>
mov    -0x20(%rbp),%rax
lea    0xe81(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
movss  -0x14(%rbp),%xmm0
movss  0xe63(%rip),%xmm1
mulss  %xmm1,%xmm0
cvttss2si %xmm0,%eax
mov    %ax,-0x16(%rbp)
movss  -0x14(%rbp),%xmm0
movss  0xe4e(%rip),%xmm1
mulss  %xmm1,%xmm0
cvttss2si %xmm0,%eax
mov    %ax,-0x18(%rbp)
jmp    1294 <dmp_set_tap_thresh+0x174>
movss  -0x14(%rbp),%xmm0
movss  0xe24(%rip),%xmm1
mulss  %xmm1,%xmm0
cvttss2si %xmm0,%eax
mov    %ax,-0x16(%rbp)
movss  -0x14(%rbp),%xmm0
movss  0xe0f(%rip),%xmm1
mulss  %xmm1,%xmm0
cvttss2si %xmm0,%eax
mov    %ax,-0x18(%rbp)
jmp    1294 <dmp_set_tap_thresh+0x174>
movss  -0x14(%rbp),%xmm0
movss  0xde5(%rip),%xmm1
mulss  %xmm1,%xmm0
cvttss2si %xmm0,%eax
mov    %ax,-0x16(%rbp)
movss  -0x14(%rbp),%xmm0
movss  0xdd0(%rip),%xmm1
mulss  %xmm1,%xmm0
cvttss2si %xmm0,%eax
mov    %ax,-0x18(%rbp)
jmp    1294 <dmp_set_tap_thresh+0x174>
movss  -0x14(%rbp),%xmm0
movss  0xda6(%rip),%xmm1
mulss  %xmm1,%xmm0
cvttss2si %xmm0,%eax
mov    %ax,-0x16(%rbp)
movss  -0x14(%rbp),%xmm0
movss  0xd91(%rip),%xmm1
mulss  %xmm1,%xmm0
cvttss2si %xmm0,%eax
mov    %ax,-0x18(%rbp)
jmp    1294 <dmp_set_tap_thresh+0x174>
movl   $0xffffffff,-0x4(%rbp)
jmp    1408 <dmp_set_tap_thresh+0x2e8>
movzwl -0x16(%rbp),%eax
sar    $0x8,%eax
mov    %al,-0xc(%rbp)
movzwl -0x16(%rbp),%eax
and    $0xff,%eax
mov    %al,-0xb(%rbp)
movzwl -0x18(%rbp),%eax
sar    $0x8,%eax
mov    %al,-0xa(%rbp)
movzwl -0x18(%rbp),%eax
and    $0xff,%eax
mov    %al,-0x9(%rbp)
movzbl -0x5(%rbp),%eax
and    $0x1,%eax
cmp    $0x0,%eax
je     132b <dmp_set_tap_thresh+0x20b>
lea    -0xc(%rbp),%rdx
mov    $0x1d4,%edi
mov    $0x2,%esi
call   1040 <mpu_write_mem@plt>
cmp    $0x0,%rax
je     12f9 <dmp_set_tap_thresh+0x1d9>
movl   $0xffffffff,-0x4(%rbp)
jmp    1408 <dmp_set_tap_thresh+0x2e8>
lea    -0xc(%rbp),%rdx
add    $0x2,%rdx
mov    $0x124,%edi
mov    $0x2,%esi
call   1040 <mpu_write_mem@plt>
cmp    $0x0,%rax
je     1326 <dmp_set_tap_thresh+0x206>
movl   $0xffffffff,-0x4(%rbp)
jmp    1408 <dmp_set_tap_thresh+0x2e8>
jmp    132b <dmp_set_tap_thresh+0x20b>
movzbl -0x5(%rbp),%eax
and    $0x2,%eax
cmp    $0x0,%eax
je     1396 <dmp_set_tap_thresh+0x276>
lea    -0xc(%rbp),%rdx
mov    $0x1d8,%edi
mov    $0x2,%esi
call   1040 <mpu_write_mem@plt>
cmp    $0x0,%rax
je     1364 <dmp_set_tap_thresh+0x244>
movl   $0xffffffff,-0x4(%rbp)
jmp    1408 <dmp_set_tap_thresh+0x2e8>
lea    -0xc(%rbp),%rdx
add    $0x2,%rdx
mov    $0x128,%edi
mov    $0x2,%esi
call   1040 <mpu_write_mem@plt>
cmp    $0x0,%rax
je     1391 <dmp_set_tap_thresh+0x271>
movl   $0xffffffff,-0x4(%rbp)
jmp    1408 <dmp_set_tap_thresh+0x2e8>
jmp    1396 <dmp_set_tap_thresh+0x276>
movzbl -0x5(%rbp),%eax
and    $0x4,%eax
cmp    $0x0,%eax
je     1401 <dmp_set_tap_thresh+0x2e1>
lea    -0xc(%rbp),%rdx
mov    $0x1dc,%edi
mov    $0x2,%esi
call   1040 <mpu_write_mem@plt>
cmp    $0x0,%rax
je     13cf <dmp_set_tap_thresh+0x2af>
movl   $0xffffffff,-0x4(%rbp)
jmp    1408 <dmp_set_tap_thresh+0x2e8>
lea    -0xc(%rbp),%rdx
add    $0x2,%rdx
mov    $0x12c,%edi
mov    $0x2,%esi
call   1040 <mpu_write_mem@plt>
cmp    $0x0,%rax
je     13fc <dmp_set_tap_thresh+0x2dc>
movl   $0xffffffff,-0x4(%rbp)
jmp    1408 <dmp_set_tap_thresh+0x2e8>
jmp    1401 <dmp_set_tap_thresh+0x2e1>
movl   $0x0,-0x4(%rbp)
mov    -0x4(%rbp),%eax
add    $0x20,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<dmp_set_tap_thresh>:
push   %rbp
push   %r15
push   %r14
push   %rbx
push   %rax
mov    $0xffffffff,%r15d
cmp    $0x640,%esi
ja     126f <dmp_set_tap_thresh+0x14f>
mov    %edi,%ebp
mov    %edi,%eax
and    $0x7,%eax
je     126f <dmp_set_tap_thresh+0x14f>
mov    %esi,%ebx
lea    0x3(%rsp),%rdi
call   1030 <mpu_get_accel_fsr@plt>
movzbl 0x3(%rsp),%eax
add    $0xfffffffe,%eax
ror    %eax
cmp    $0x7,%eax
ja     126f <dmp_set_tap_thresh+0x14f>
mov    $0x8b,%ecx
bt     %eax,%ecx
jae    126f <dmp_set_tap_thresh+0x14f>
movzwl %bx,%ecx
cvtsi2ss %ecx,%xmm0
divss  0xe7e(%rip),%xmm0
cltq
lea    0xe79(%rip),%rcx
lea    0xe92(%rip),%rdx
movss  (%rcx,%rax,4),%xmm1
mulss  %xmm0,%xmm1
mulss  (%rdx,%rax,4),%xmm0
cvttss2si %xmm0,%eax
cvttss2si %xmm1,%ecx
mov    %ch,0x4(%rsp)
mov    %cl,0x5(%rsp)
lea    0x6(%rsp),%r14
mov    %ah,0x6(%rsp)
mov    %al,0x7(%rsp)
test   $0x1,%bpl
jne    11d7 <dmp_set_tap_thresh+0xb7>
test   $0x2,%bpl
jne    1209 <dmp_set_tap_thresh+0xe9>
test   $0x4,%bpl
jne    123b <dmp_set_tap_thresh+0x11b>
xor    %r15d,%r15d
jmp    126f <dmp_set_tap_thresh+0x14f>
lea    0x4(%rsp),%rdx
mov    $0x1d4,%edi
mov    $0x2,%esi
call   1040 <mpu_write_mem@plt>
test   %rax,%rax
jne    126f <dmp_set_tap_thresh+0x14f>
mov    $0x124,%edi
mov    $0x2,%esi
mov    %r14,%rdx
call   1040 <mpu_write_mem@plt>
test   %rax,%rax
jne    126f <dmp_set_tap_thresh+0x14f>
jmp    11c3 <dmp_set_tap_thresh+0xa3>
lea    0x4(%rsp),%rdx
mov    $0x1d8,%edi
mov    $0x2,%esi
call   1040 <mpu_write_mem@plt>
test   %rax,%rax
jne    126f <dmp_set_tap_thresh+0x14f>
mov    $0x128,%edi
mov    $0x2,%esi
mov    %r14,%rdx
call   1040 <mpu_write_mem@plt>
test   %rax,%rax
jne    126f <dmp_set_tap_thresh+0x14f>
jmp    11c9 <dmp_set_tap_thresh+0xa9>
lea    0x4(%rsp),%rdx
mov    $0x1dc,%edi
mov    $0x2,%esi
call   1040 <mpu_write_mem@plt>
test   %rax,%rax
jne    126f <dmp_set_tap_thresh+0x14f>
mov    $0x12c,%edi
mov    $0x2,%esi
mov    %r14,%rdx
call   1040 <mpu_write_mem@plt>
test   %rax,%rax
je     11cf <dmp_set_tap_thresh+0xaf>
mov    %r15d,%eax
add    $0x8,%rsp
pop    %rbx
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define i32 @dmp_set_tap_thresh(i8 zeroext %0, i16 zeroext %1) {
%3 = alloca i32
%4 = alloca i8
%5 = alloca i16
%6 = alloca [4 x i8]
%7 = alloca i8
%8 = alloca float
%9 = alloca i16
%10 = alloca i16
store i8 %0, i8* %4
store i16 %1, i16* %5
%11 = load i8, i8* %4
%12 = zext i8 %11 to i32
%13 = and i32 %12, 7
%14 = icmp ne i32 %13, 0
br i1 %14, label %15, label %19
15: ; preds = %2
%16 = load i16, i16* %5
%17 = zext i16 %16 to i32
%18 = icmp sgt i32 %17, 1600
br i1 %18, label %19, label %20
19: ; preds = %15, %2
store i32 -1, i32* %3
br label %128
20: ; preds = %15
%21 = load i16, i16* %5
%22 = uitofp i16 %21 to float
%23 = fdiv float %22, 2.000000e+02
store float %23, float* %8
%24 = call i32 @mpu_get_accel_fsr(i8* %7)
%25 = load i8, i8* %7
%26 = zext i8 %25 to i32
switch i32 %26, label %55 [
i32 2, label %27
i32 4, label %34
i32 8, label %41
i32 16, label %48
]
27: ; preds = %20
%28 = load float, float* %8
%29 = fmul float %28, 1.638400e+04
%30 = fptoui float %29 to i16
store i16 %30, i16* %9
%31 = load float, float* %8
%32 = fmul float %31, 1.228800e+04
%33 = fptoui float %32 to i16
store i16 %33, i16* %10
br label %56
34: ; preds = %20
%35 = load float, float* %8
%36 = fmul float %35, 8.192000e+03
%37 = fptoui float %36 to i16
store i16 %37, i16* %9
%38 = load float, float* %8
%39 = fmul float %38, 6.144000e+03
%40 = fptoui float %39 to i16
store i16 %40, i16* %10
br label %56
41: ; preds = %20
%42 = load float, float* %8
%43 = fmul float %42, 4.096000e+03
%44 = fptoui float %43 to i16
store i16 %44, i16* %9
%45 = load float, float* %8
%46 = fmul float %45, 3.072000e+03
%47 = fptoui float %46 to i16
store i16 %47, i16* %10
br label %56
48: ; preds = %20
%49 = load float, float* %8
%50 = fmul float %49, 2.048000e+03
%51 = fptoui float %50 to i16
store i16 %51, i16* %9
%52 = load float, float* %8
%53 = fmul float %52, 1.536000e+03
%54 = fptoui float %53 to i16
store i16 %54, i16* %10
br label %56
55: ; preds = %20
store i32 -1, i32* %3
br label %128
56: ; preds = %48, %41, %34, %27
%57 = load i16, i16* %9
%58 = zext i16 %57 to i32
%59 = ashr i32 %58, 8
%60 = trunc i32 %59 to i8
%61 = getelementptr inbounds [4 x i8], [4 x i8]* %6, i64 0, i64 0
store i8 %60, i8* %61
%62 = load i16, i16* %9
%63 = zext i16 %62 to i32
%64 = and i32 %63, 255
%65 = trunc i32 %64 to i8
%66 = getelementptr inbounds [4 x i8], [4 x i8]* %6, i64 0, i64 1
store i8 %65, i8* %66
%67 = load i16, i16* %10
%68 = zext i16 %67 to i32
%69 = ashr i32 %68, 8
%70 = trunc i32 %69 to i8
%71 = getelementptr inbounds [4 x i8], [4 x i8]* %6, i64 0, i64 2
store i8 %70, i8* %71
%72 = load i16, i16* %10
%73 = zext i16 %72 to i32
%74 = and i32 %73, 255
%75 = trunc i32 %74 to i8
%76 = getelementptr inbounds [4 x i8], [4 x i8]* %6, i64 0, i64 3
store i8 %75, i8* %76
%77 = load i8, i8* %4
%78 = zext i8 %77 to i32
%79 = and i32 %78, 1
%80 = icmp ne i32 %79, 0
br i1 %80, label %81, label %93
81: ; preds = %56
%82 = getelementptr inbounds [4 x i8], [4 x i8]* %6, i64 0, i64 0
%83 = call i64 @mpu_write_mem(i32 468, i32 2, i8* %82)
%84 = icmp ne i64 %83, 0
br i1 %84, label %85, label %86
85: ; preds = %81
store i32 -1, i32* %3
br label %128
86: ; preds = %81
%87 = getelementptr inbounds [4 x i8], [4 x i8]* %6, i64 0, i64 0
%88 = getelementptr inbounds i8, i8* %87, i64 2
%89 = call i64 @mpu_write_mem(i32 292, i32 2, i8* %88)
%90 = icmp ne i64 %89, 0
br i1 %90, label %91, label %92
91: ; preds = %86
store i32 -1, i32* %3
br label %128
92: ; preds = %86
br label %93
93: ; preds = %92, %56
%94 = load i8, i8* %4
%95 = zext i8 %94 to i32
%96 = and i32 %95, 2
%97 = icmp ne i32 %96, 0
br i1 %97, label %98, label %110
98: ; preds = %93
%99 = getelementptr inbounds [4 x i8], [4 x i8]* %6, i64 0, i64 0
%100 = call i64 @mpu_write_mem(i32 472, i32 2, i8* %99)
%101 = icmp ne i64 %100, 0
br i1 %101, label %102, label %103
102: ; preds = %98
store i32 -1, i32* %3
br label %128
103: ; preds = %98
%104 = getelementptr inbounds [4 x i8], [4 x i8]* %6, i64 0, i64 0
%105 = getelementptr inbounds i8, i8* %104, i64 2
%106 = call i64 @mpu_write_mem(i32 296, i32 2, i8* %105)
%107 = icmp ne i64 %106, 0
br i1 %107, label %108, label %109
108: ; preds = %103
store i32 -1, i32* %3
br label %128
109: ; preds = %103
br label %110
110: ; preds = %109, %93
%111 = load i8, i8* %4
%112 = zext i8 %111 to i32
%113 = and i32 %112, 4
%114 = icmp ne i32 %113, 0
br i1 %114, label %115, label %127
115: ; preds = %110
%116 = getelementptr inbounds [4 x i8], [4 x i8]* %6, i64 0, i64 0
%117 = call i64 @mpu_write_mem(i32 476, i32 2, i8* %116)
%118 = icmp ne i64 %117, 0
br i1 %118, label %119, label %120
119: ; preds = %115
store i32 -1, i32* %3
br label %128
120: ; preds = %115
%121 = getelementptr inbounds [4 x i8], [4 x i8]* %6, i64 0, i64 0
%122 = getelementptr inbounds i8, i8* %121, i64 2
%123 = call i64 @mpu_write_mem(i32 300, i32 2, i8* %122)
%124 = icmp ne i64 %123, 0
br i1 %124, label %125, label %126
125: ; preds = %120
store i32 -1, i32* %3
br label %128
126: ; preds = %120
br label %127
127: ; preds = %126, %110
store i32 0, i32* %3
br label %128
128: ; preds = %127, %125, %119, %108, %102, %91, %85, %55, %19
%129 = load i32, i32* %3
ret i32 %129
}

LLVM IR (-O2):
@switch.table.dmp_set_tap_thresh = [8 x float] [float 1.638400e+04, float 8.192000e+03, float 1.638400e+04, float 4.096000e+03, float 1.638400e+04, float 1.638400e+04, float 1.638400e+04, float 2.048000e+03]
@switch.table.dmp_set_tap_thresh.1 = [8 x float] [float 1.228800e+04, float 6.144000e+03, float 1.228800e+04, float 3.072000e+03, float 1.228800e+04, float 1.228800e+04, float 1.228800e+04, float 1.536000e+03]
define i32 @dmp_set_tap_thresh(i8 zeroext %0, i16 zeroext %1) {
%3 = alloca [4 x i8]
%4 = alloca i8
%5 = getelementptr inbounds [4 x i8], [4 x i8]* %3, i64 0, i64 0
%6 = zext i8 %0 to i32
%7 = and i32 %6, 7
%8 = icmp eq i32 %7, 0
%9 = icmp ugt i16 %1, 1600
%10 = or i1 %9, %8
br i1 %10, label %72, label %11
11: ; preds = %2
%12 = uitofp i16 %1 to float
%13 = fdiv float %12, 2.000000e+02
%14 = call i32 @mpu_get_accel_fsr(i8* %4)
%15 = load i8, i8* %4
%16 = zext i8 %15 to i32
%17 = add nsw i32 %16, -2
%18 = call i32 @llvm.fshl.i32(i32 %17, i32 %17, i32 31)
%19 = icmp ult i32 %18, 8
br i1 %19, label %20, label %72
20: ; preds = %11
%21 = trunc i32 %18 to i8
%22 = lshr i8 -117, %21
%23 = and i8 %22, 1
%24 = icmp eq i8 %23, 0
br i1 %24, label %72, label %25
25: ; preds = %20
%26 = sext i32 %18 to i64
%27 = getelementptr inbounds [8 x float], [8 x float]* @switch.table.dmp_set_tap_thresh, i64 0, i64 %26
%28 = load float, float* %27
%29 = sext i32 %18 to i64
%30 = getelementptr inbounds [8 x float], [8 x float]* @switch.table.dmp_set_tap_thresh.1, i64 0, i64 %29
%31 = load float, float* %30
%32 = fmul float %13, %28
%33 = fmul float %13, %31
%34 = fptoui float %33 to i16
%35 = fptoui float %32 to i16
%36 = lshr i16 %35, 8
%37 = trunc i16 %36 to i8
store i8 %37, i8* %5
%38 = trunc i16 %35 to i8
%39 = getelementptr inbounds [4 x i8], [4 x i8]* %3, i64 0, i64 1
store i8 %38, i8* %39
%40 = lshr i16 %34, 8
%41 = trunc i16 %40 to i8
%42 = getelementptr inbounds [4 x i8], [4 x i8]* %3, i64 0, i64 2
store i8 %41, i8* %42
%43 = trunc i16 %34 to i8
%44 = getelementptr inbounds [4 x i8], [4 x i8]* %3, i64 0, i64 3
store i8 %43, i8* %44
%45 = and i32 %6, 1
%46 = icmp eq i32 %45, 0
br i1 %46, label %53, label %47
47: ; preds = %25
%48 = call i64 @mpu_write_mem(i32 468, i32 2, i8* %5)
%49 = icmp eq i64 %48, 0
br i1 %49, label %50, label %72
50: ; preds = %47
%51 = call i64 @mpu_write_mem(i32 292, i32 2, i8* %42)
%52 = icmp eq i64 %51, 0
br i1 %52, label %53, label %72
53: ; preds = %50, %25
%54 = and i32 %6, 2
%55 = icmp eq i32 %54, 0
br i1 %55, label %62, label %56
56: ; preds = %53
%57 = call i64 @mpu_write_mem(i32 472, i32 2, i8* %5)
%58 = icmp eq i64 %57, 0
br i1 %58, label %59, label %72
59: ; preds = %56
%60 = call i64 @mpu_write_mem(i32 296, i32 2, i8* %42)
%61 = icmp eq i64 %60, 0
br i1 %61, label %62, label %72
62: ; preds = %59, %53
%63 = and i32 %6, 4
%64 = icmp eq i32 %63, 0
br i1 %64, label %71, label %65
65: ; preds = %62
%66 = call i64 @mpu_write_mem(i32 476, i32 2, i8* %5)
%67 = icmp eq i64 %66, 0
br i1 %67, label %68, label %72
68: ; preds = %65
%69 = call i64 @mpu_write_mem(i32 300, i32 2, i8* %42)
%70 = icmp eq i64 %69, 0
br i1 %70, label %71, label %72
71: ; preds = %68, %62
br label %72
72: ; preds = %20, %11, %68, %65, %59, %56, %50, %47, %2, %71
%73 = phi i32 [ 0, %71 ], [ -1, %2 ], [ -1, %11 ], [ -1, %47 ], [ -1, %50 ], [ -1, %56 ], [ -1, %59 ], [ -1, %65 ], [ -1, %68 ], [ -1, %20 ]
ret i32 %73
}